设备在没有重启的情况下出现
额外的 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/vdbext4 可以离线缩减,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/datanofail 和设备超时是那行的关键部分。没有它们,在卷附加之前启动的实例会停留在紧急 shell 中等待磁盘,而你会比计划更早阅读控制台文章。
定时执行 Trim,而不是每次删除时执行
不要添加 discard 挂载选项。持续丢弃(continuous 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在新卷上运行该命令,绝不要在 / 上运行,也绝不要在包含你想保留数据的文件系统上运行。如果结果比 硬件页面 描述的低一个数量级,请将输出提交一个工单,我们会检查主机,而不是检查你。