我们有几个 EC2 实例,每个实例都有多个驱动器。当有多个驱动器在一起时,在 AWS 控制台中监控哪个驱动器是正确的驱动器会变得令人困惑。
命名约定可以在一定程度上帮助实现这一点。
但是有没有办法在 EBS 磁盘的窗口中获取卷 ID(或某些标识符),以便可以在 AWS 控制台中找到它?
我正在尝试部署这个:
https://github.com/agrawal-mohit/kudisavers
在 AWS 上使用 EBS。
但登陆页面只显示“/的索引”:http : //kudisavers.elasticbeanstalk.com/
我对部署等都没有经验,需要一些帮助。这里出了什么问题?
非常感谢!
deployment django amazon-ebs amazon-web-services amazon-elastic-beanstalk
我将用户的代码存储在文件系统中,目前 EBS 存储在 AWS 中。我正在寻求提高可用性并希望减少由于 EBS 出现故障而中断的机会。EFS 似乎是一个合理的选择。
我知道 EFS 会比 EBS 慢,而且 EFS 比 EBS 贵。我想知道,是否有任何性能基准测试来衡量EFS的读写延迟并与EBS进行比较?
我的一个 AWS EC2 实例更适合 Lightsail(并且更具成本效益)。有没有办法根据 EBS 快照创建 Lightsail 实例?
我正在尝试将一些卷安装到我的实例,它们都是 NVME。我读到,NVME 卷每次随机分配序列号时,它们的映射都不会保持相同。重点是我需要保持映射一致,它是针对一个数据库和一个假设保存数据的卷。现在,如果我重新启动实例,卷就会混合在一起,因此包含数据的卷可能会被安装到不同的目录,因此数据库服务启动但找不到任何数据。
当然,创建映像后也会发生这种情况,因此我无法配置 1 个实例并使用映像启动更多实例。
如何强制映射保持一致?或者停止使用 NVME?(我读到这个随机序列化仅发生在 NVME 上)
针对卷运行 sysbench 我发现 gp3 卷要慢得多。即使我在等待优化后配置了 16000IOPS 的卷,在通过 Percona PMM、New Relic CloudWatch 进行监控时,我也得到了 1000 IOPS 的上限。
实例:
卷:
Sysbench 结果如下:
sysbench --file-total-size=15G --file-num=16 fileio prepare
sysbench --file-total-size=15G --file-num=16 --file-test-mode=rndrw --time=600 fileio run
sysbench --file-total-size=15G --file-num=16 fileio cleanup
Run Code Online (Sandbox Code Playgroud)
GP3 | 9000 | 3000 | 3000 250/秒
File operations:
reads/s: 576.37
writes/s: 384.24
fsyncs/s: 153.70
Throughput:
read, MiB/s: 9.01
written, MiB/s: 6.00
General statistics:
total time: 600.0333s
total number of events: …Run Code Online (Sandbox Code Playgroud) 从门户创建时,可以选择增加操作系统磁盘(根磁盘)的大小。实例启动后通常会有这个挂载
/dev/nvme0n1p1 970G 129G 842G 14% /
Run Code Online (Sandbox Code Playgroud)
我想在模板中指定操作系统磁盘的大小,但块设备属性有DeviceName字段
在创建虚拟机之前我如何知道是否DeviceName会发生/dev/nvme0n1p1?或者可以将其命名为任何名称,并且模板会将其视为给予操作系统磁盘的大小?
是否指定BlockDeviceMapping添加新磁盘或扩展操作系统磁盘?
amazon-ec2 amazon-ebs amazon-web-services aws-cloudformation
我正在尝试在 EC2 (RHEL) 实例上附加 EBS 卷。这是我的附加卷命令的样子:
\naws ec2 attach-volume --volume-id vol-xxxxxxxxxxxxxxxxx --instance-id i-yyyyyyyyyyyyyyyyy --device /dev/sdf\n{\n "AttachTime": "2021-12-02T19:30:13.070000+00:00",\n "Device": "/dev/sdf",\n "InstanceId": "i-yyyyyyyyyyyyyyyyy ",\n "State": "attaching",\n "VolumeId": "vol-xxxxxxxxxxxxxxxxx "\n}\nRun Code Online (Sandbox Code Playgroud)\n这是的输出lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nnvme1n1 259:0 0 5G 0 disk\n\xe2\x94\x94\xe2\x94\x80aaaaa-aaa 253:2 0 5G 0 lvm /logs\nnvme0n1 259:1 0 10G 0 disk\n\xe2\x94\x9c\xe2\x94\x80nvme0n1p1 259:2 0 1M 0 part\n\xe2\x94\x94\xe2\x94\x80nvme0n1p2 259:3 0 10G 0 part /\nnvme3n1 259:4 0 35G 0 disk\n\xe2\x94\x9c\xe2\x94\x80bbbbb-bbb 253:3 0 8G 0 lvm [SWAP]\n\xe2\x94\x9c\xe2\x94\x80bbbbb-ccc 253:4 0 4G …Run Code Online (Sandbox Code Playgroud) 如果我将EBS实例附加到我的EC2实例,是否与安装相同?根据各种指南,他们做了不同的事情.附加EBS实例和安装之间有什么区别?
亲爱的Kubernetes大师!
我使用'contrib'Ansible playbook(https://github.com/kubernetes/contrib/tree/master/ansible)在手动创建的AWS主机上创建了kube 1.4.1集群.
我的问题是Kube没有将EBS驱动器连接到minion主机.如果我定义pod如下:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kafka1
spec:
replicas: 1
template:
spec:
containers:
- name: kafka1
image: daniilyar/kafka
ports:
- containerPort: 9092
name: clientconnct
protocol: TCP
volumeMounts:
- mountPath: /kafka
name: storage
volumes:
- name: storage
awsElasticBlockStore:
volumeID: vol-56676d83
fsType: ext4
Run Code Online (Sandbox Code Playgroud)
我在kubelet.log中收到以下错误:
Mounting arguments: /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-56676d83 /var/lib/kubelet/pods/db213783-9477-11e6-8aa9-12f3d1cdf81a/volumes/kubernetes.io~aws-ebs/storage [bind]
Output: mount: special device /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-56676d83 does not exist
Run Code Online (Sandbox Code Playgroud)
在此期间,EBS卷保持"可用"状态,因此我确信Kube 根本不会将卷附加到主机,因此不会挂载它.我100%确定这是一个Kubernetes本身的问题,而不是许可问题,因为我可以从这个minion手动安装相同的卷到这个minion就好了:
$ aws ec2 --region us-east-1 attach-volume --volume-id vol-56676d83 --instance-id $(wget -q …Run Code Online (Sandbox Code Playgroud) amazon-ebs ×10
amazon-ec2 ×9
amazon-efs ×1
deployment ×1
django ×1
kubernetes ×1
nvme ×1
redhat ×1
rhel ×1
sysbench ×1