知识库

附加额外的 NVMe 卷并挂载它

找到新的块设备,选择文件系统,挂载它以便在磁盘缺失时不会停止启动,并在以后不中断地扩展它。

设备无需重启即可出现

额外 NVMe 是按每五百GB出售的附加组件,它是热插拔的。订单结算后几秒钟内,卷就会作为新的块设备出现。不会重启任何东西。

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

根磁盘是vda;新磁盘会占用下一个字母。如果它没有出现,给 udev 一点时间,然后重新查看:

udevadm settle
ls /sys/class/block

跳过分区表

在虚拟磁盘上创建分区不会带来任何好处,并且每次卷扩容时都会增加一个步骤。将文件系统直接放在设备上:

mkfs.ext4 -L data /dev/vdb

或者,对于由多个线程同时写入的大文件:

mkfs.xfs -L data /dev/vdb

ext4 可以离线缩小,XFS 则根本无法缩小。XFS 在处理并行元数据时更快,ext4 则对其他一切都更宽容。对于大多数人来说,这就是全部的区别所在。

挂载时确保缺失的卷不会阻止启动

使用标签。设备顺序在一次重建后是不保证的,今天的vdb明天可能变成vdc

mkdir -p /srv/data
echo "LABEL=data /srv/data ext4 defaults,noatime,nofail,x-systemd.device-timeout=10s 0 2" >> /etc/fstab
systemctl daemon-reload
mount -a
findmnt /srv/data

nofail和设备超时是该行的重要组成部分。如果没有它们,一个在卷被挂载之前启动的实例会停留在紧急shell中等待磁盘,你会比计划更早地读到控制台文章。

定时 Trim,而不是每次删除时

不要添加discard挂载选项。持续的去分配会在每次 unlink 时发出 trim,在繁忙的文件系统上,这消耗的资源比带来的好处更多。改为定期运行:

systemctl enable --now fstrim.timer
fstrim -v /srv/data

扩展卷

订购更多容量,然后原地扩展文件系统。无需卸载,无需重启。

lsblk -o NAME,SIZE
resize2fs /dev/vdb          # ext4, by device
xfs_growfs /srv/data        # XFS, by mount point

把这两个操作颠倒顺序会产生一个令人困惑的错误信息,但不会造成任何损害,这正是一个工具应该有的正确行为。

如果你想加密

cryptsetup luksFormat --type luks2 /dev/vdb
cryptsetup open /dev/vdb data
mkfs.ext4 -L data /dev/mapper/data

首先了解后果。受密码保护的卷无法无人值守挂载,因此每次重启都需要有人在控制台上输入密码。将密钥文件放在根磁盘上可以解决这个问题,同时也失去了大部分好处。请有意识地选择,而不是默认。

硬件检查

fio --name=rw --rw=randwrite --bs=4k --size=2G --numjobs=4 --iodepth=32 --direct=1 --runtime=60 --time_based --group_reporting

在新区块设备上运行该命令,绝不要在/上运行,也绝不要在你想要保留数据的文件系统上运行。如果结果比硬件页面描述的低一个数量级,请附上输出并提交工单,我们会检查主机而不是你。

随时恭候

选择城市,选择大小,用加密货币支付。

无需填写关于您的身份信息的表格,无需等待人工审批,无需电话验证。账单结清后,凭证将发送到您的邮箱。