Я пытаюсь обновить устаревший скрипт, который увеличивает раздел xfs на диске, который теперь использует диски на основе nvme. Оно использует parted
чтобы удалить и воссоздать раздел на всем диске. Которая теперь монтируется на основе диска UUID
а не имя устройства.
В моем сценарии ниже $DISK
оценивает /dev/nvme1n1p1
и $DEVICE_NAME
оценивает /dev/nvme1n1
#Remove the first and only partition
parted -s $DEVICE_NAME rm 1
#Recreate the partition
parted -s -a optimal $DEVICE_NAME mklabel gpt -- mkpart primary xfs 1 -1
#Make filesystem on disk
mkfs.xfs -f $DISK
blkid
показывает
/dev/nvme1n1p1: UUID="331b6037-193c-47e6-b0ab-2e8447b0fa1d" TYPE="xfs" PARTLABEL="primary" PARTUUID="3304f5e6-8626-4f2a-aa95-3be9113e42f3"
/dev/nvme1n1: PTTYPE="gpt"
После создания файловой системы я могу получить новый UUID
с участием UUID=$(blkid -o value -s UUID $DISK)
Сценарий изменяет / etc / fstab с этими новыми значениями и запускает mount -a
но не монтируется.
Fdisk показывает файл как "базовый тип Microsoft"
Disk /dev/nvme1n1: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: XXXXX
# Start End Size Type Name
1 2048 209713151 100G Microsoft basic primary
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
/var/log/messages
показывает ошибки
Apr 7 03:45:14 xxx kernel: nvme1n1: p1
Apr 7 03:45:50 xxx kernel: XFS (nvme1n1p1): Mounting V5 Filesystem
Apr 7 03:45:50 xxx kernel: XFS (nvme1n1p1): Ending clean mount
Apr 7 03:45:50 xxx systemd: Unit svc.mount is bound to inactive unit dev-disk-by\x2duuid-9f28c8aa\x2d4cc1\x2d4e46\x2d85a5\x2d4e3a63ecda43.device. Stopping, too.
Apr 7 03:45:50 xxx systemd: Unmounting /svc...
Apr 7 03:45:50 xxx kernel: XFS (nvme1n1p1): Unmounting Filesystem
Apr 7 03:45:50 xxx systemd: Unmounted /svc.