Raid

使用 RAID 和 LVM 更改磁碟分區

  • November 12, 2015

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

XXXvgdisplay替換為您在輸出中看到的空閒大小;例如--size +500G,如果顯示 500 GiB 則使用。

--resizefs告訴與lvresize邏輯卷一起修改文件系統;它使用fsadm命令來做到這一點。這應該適用於 ext2、ext3、ext4、reiserfs 和 xfs 文件系統。至少 ext3 和 ext4 文件系統在掛載時應該可以調整大小(我不確定其餘的)。

引用自:https://serverfault.com/questions/735802