Я изменил размер тома EBS с помощью консоли AWS Modify Volume. Вот что возвращает команда lsblk перед любым изменением:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdn 202:208 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
xvdc 202:32 0 80G 0 disk
└─md1 9:1 0 160G 0 raid0 /mnt/temp
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdp 202:240 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
xvdo 202:224 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
xvdb 202:16 0 80G 0 disk
└─md1 9:1 0 160G 0 raid0 /mnt/temp
xvdq 202:4096 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
Я увеличил размер xvdn (/ dev / sdn) до 6G. После чего я перезапустил экземпляр. Примечание. Xvdn используется для создания массива RAID 0 из 4 устройств.
$ sudo file -s /dev/xvd*
/dev/xvda: DOS/MBR boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, 1st sector stage2 0x800, stage2 segment 0x200, GRUB version 0.94, extended partition table (last)
/dev/xvda1: Linux rev 1.0 ext4 filesystem data, UUID=1afa51d9-105a-4c14-8f32-8b8b424b1c81 (needs journal recovery) (extents) (large files) (huge files)
/dev/xvdb: Linux Software RAID version 1.2 (1) UUID=cbe5ee82:c33cad21:699bec71:b4cf4a63 name=dbx_head:head_ephem level=0 disks=2
/dev/xvdc: Linux Software RAID version 1.2 (1) UUID=cbe5ee82:c33cad21:699bec71:b4cf4a63 name=dbx_head:head_ephem level=0 disks=2
/dev/xvdn: Linux Software RAID version 1.2 (1) UUID=c42b27c0:3586d4c5:635e2925:39a006e5 name=dbx_head:head_ebs level=0 disks=4
/dev/xvdo: Linux Software RAID version 1.2 (1) UUID=c42b27c0:3586d4c5:635e2925:39a006e5 name=dbx_head:head_ebs level=0 disks=4
/dev/xvdp: Linux Software RAID version 1.2 (1) UUID=c42b27c0:3586d4c5:635e2925:39a006e5 name=dbx_head:head_ebs level=0 disks=4
/dev/xvdq: Linux Software RAID version 1.2 (1) UUID=c42b27c0:3586d4c5:635e2925:39a006e5 name=dbx_head:head_ebs level=0 disks=4
Который установлен на xfs
тип файла:
$ mount
/dev/md0 on /mnt/data type xfs (rw,noatime,nodiratime,swalloc,attr2,largeio,inode64,logbsize=128k,sunit=256,swidth=1024,noquota)
/dev/md1 on /mnt/temp type xfs (rw,noatime,nodiratime,swalloc,attr2,largeio,inode64,sunit=256,swidth=512,noquota)
/dev/md0 on /xdlog type xfs (rw,noatime,nodiratime,swalloc,attr2,largeio,inode64,logbsize=128k,sunit=256,swidth=1024,noquota)
После перезапуска размер не изменился, поэтому я сделал
$ xfs_growfs -d /dev/md0
meta-data=/dev/md0 isize=2048 agcount=17, agsize=262112 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4194176, imaxpct=25
= sunit=32 swidth=128 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=32 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data size unchanged, skipping
Сейчас lsblk
возвращает:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdn 202:208 0 6G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
xvdc 202:32 0 80G 0 disk
└─md1 9:1 0 160G 0 raid0 /mnt/temp
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdp 202:240 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
xvdo 202:224 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
xvdb 202:16 0 80G 0 disk
└─md1 9:1 0 160G 0 raid0 /mnt/temp
xvdq 202:4096 0 4G 0 disk
└─md0 9:0 0 16G 0 raid0 /mnt/data
Но когда я размер файла через df -h
, он не показывает изменений:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.4G 96K 7.4G 1% /dev
tmpfs 7.4G 55M 7.3G 1% /dev/shm
/dev/xvda1 7.8G 1.8G 6.0G 23% /
tmpfs 7.4G 24K 7.4G 1% /home/xdaux/tmp
tmpfs 7.4G 124K 7.4G 1% /home/xdcrm/tmp
/dev/md0 16G 35M 16G 1% /xdlog
/dev/md1 160G 3.1G 157G 2% /mnt/temp
Что я здесь делаю не так / не хватает?
xvdn
является частью массива RAID0 (md0
), который используется файловой системой. Чтобы расширить файловую систему, вам необходимо расширить md0
массив, но для этого необходимо расширить все четыре компонентные устройства в первую очередь. В принципе:
umount /dev/md0
)mdadm -S /dev/md0
)--update=devicesize
вариант (mdadm --assemble --update=devicesize /dev/md0 /dev/xvdn /dev/xvdp /dev/xvdo /dev/xvdq
)mount /dev/md0 /xdlog
)xfs_growfs /dev/md0
)Обратите внимание, что я разместил команды bash только для удобства, пожалуйста тройная проверка перед проведением разрушительных операций.