使用 RAID 和 LVM 更改磁碟分區
TL;DR:如何線上組合 RAID + LVM 分區(不涉及 rootfs)?
我有一台伺服器,它以前用於其他用途,並創建了一定的分區結構。
df -h
節目Filesystem Size Used Avail Use% Mounted on /dev/mapper/raid1-rootfs 50G 28G 20G 59% / tmpfs 16G 0 16G 0% /lib/init/rw udev 16G 152K 16G 1% /dev tmpfs 16G 624K 16G 1% /dev/shm /dev/md0 460M 29M 408M 7% /boot /dev/mapper/raid1-data 99G 20G 74G 22% /data /dev/mapper/raid1-mysql 99G 4.6G 89G 5% /data/mysql /dev/mapper/raid1-backup 99G 664M 93G 1% /data/backup /dev/mapper/raid1-activemq 99G 188M 94G 1% /data/activemq /dev/mapper/raid1-backups 1.0T 651G 373G 64% /backup
基本上我不再需要不同的
/data
分區了。我主要需要是否將備份儲存在安裝在/backup
.為了在那裡有更多的磁碟空間,我想將
4*99G
它上面的分區添加到/backup
. 將它們組合在一個單獨的分區中也可以,然後我可以將一些子目錄安裝到它上面。磁碟已鏡像並且顯然具有 LVM。
我對如何做有點迷茫,我希望能夠在網上做,我沒有物理訪問權限。
您能解釋或指導我如何實現這一目標嗎?
PS:
fdisk -l
告訴我:WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted
lvdisplay
輸出:--- Logical volume --- LV Name /dev/raid1/swap VG Name raid1 LV UUID gOtYhu-oORL-JZRy-inlb-hlyn-0qGU-SBxYo3 LV Write Access read/write LV Status available # open 1 LV Size 4.00 GiB Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Name /dev/raid1/rootfs VG Name raid1 LV UUID Y3np5X-IyEn-WMGW-2t51-LIiX-9I8z-rnBXZp LV Write Access read/write LV Status available # open 1 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/raid1/activemq VG Name raid1 LV UUID 0mGA9R-wi89-adqN-oI2x-W24j-2qzD-pXJdNA LV Write Access read/write LV Status available # open 1 LV Size 100.00 GiB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 --- Logical volume --- LV Name /dev/raid1/mysql VG Name raid1 LV UUID D5dD6A-1TDZ-fKsO-pc1u-Xttm-Wb2K-RjqAJw LV Write Access read/write LV Status available # open 1 LV Size 100.00 GiB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:3 --- Logical volume --- LV Name /dev/raid1/backup VG Name raid1 LV UUID Brfzgy-nDWG-xyAD-b2a5-sTWf-T7hX-jZRiji LV Write Access read/write LV Status available # open 1 LV Size 100.00 GiB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4 --- Logical volume --- LV Name /dev/raid1/data VG Name raid1 LV UUID JmF16w-jLJz-V3Is-WeTb-K0Qn-uG21-WhLWJY LV Write Access read/write LV Status available # open 1 LV Size 100.00 GiB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:6 --- Logical volume --- LV Name /dev/raid1/storage VG Name raid1 LV UUID 0qRsZl-Kbix-6dhc-g7UD-xJuG-tK3t-zP04fd LV Write Access read/write LV Status available # open 1 LV Size 25.00 GiB Current LE 6400 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:7 --- Logical volume --- LV Name /dev/raid1/backups VG Name raid1 LV UUID g3VgO6-QkEv-KlD4-Wo7N-0cvn-Aolg-1hz1P1 LV Write Access read/write LV Status available # open 1 LV Size 1.00 TiB Current LE 262144 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:8
請注意,有一個分區被排除在輸出之外並且與此操作無關。
首先確保您不再需要儲存在
/data
文件系統上的數據(如果需要,請在其他地方進行備份或複制)。確保沒有程序正在使用這些文件系統上的文件 (lsof -n | grep /data
)。解除安裝文件系統:
# umount /dev/mapper/raid1-backups # umount /dev/mapper/raid1-activemq # umount /dev/mapper/raid1-backup # umount /dev/mapper/raid1-mysql # umount /dev/mapper/raid1-data
如果這些 umount 中的任何一個失敗,請再次檢查是否有任何程序正在使用文件系統。確保最後解除安裝
/dev/mapper/raid1-data
,因為其他文件系統安裝在該文件系統之上。不要忘記修改
/etc/fstab
以刪除這些文件系統的行。現在不再需要這些邏輯卷,您可以刪除它們:
# lvremove raid1/data # lvremove raid1/mysql # lvremove raid1/backup # lvremove raid1/activemq
保重
raid1/backup
,你也有一個raid1/backups
你想保留的!請注意,您的輸出中還
raid1/storage
列出了一個lvdisplay
顯然未安裝的列表。檢查是否需要該邏輯卷,如果不需要,您也可以刪除該邏輯卷。現在,分配給這些邏輯卷的空間已返回為卷組可用(您可以檢查
vgdisplay raid1
)。您現在可以增加“備份”邏輯卷:# lvresize --resizefs --size +XXX raid1/backups
將XXX
vgdisplay
替換為您在輸出中看到的空閒大小;例如--size +500G
,如果顯示 500 GiB 則使用。
--resizefs
告訴與lvresize
邏輯卷一起修改文件系統;它使用fsadm
命令來做到這一點。這應該適用於 ext2、ext3、ext4、reiserfs 和 xfs 文件系統。至少 ext3 和 ext4 文件系統在掛載時應該可以調整大小(我不確定其餘的)。