将逻辑卷移动到新磁盘

将逻辑卷移动到新磁盘

这是我现有的磁盘分区。

[root@xyz  development: /root] lvs
  LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  repolv   repovg -wi-ao----  1.95t
  LogVol00 rootvg -wi-ao----  6.00g
  LogVol01 rootvg -wi-ao---- 10.00g
  LogVol02 rootvg -wi-ao---- 10.00g
  LogVol03 rootvg -wi-ao---- 15.00g
  LogVol04 rootvg -wi-ao----  8.00g
 
    [root@xyz development: /root] lsblk -p
    NAME                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    /dev/sda                          8:0    0  100G  0 disk
    ├─/dev/sda1                       8:1    0  500M  0 part /boot
    └─/dev/sda2                       8:2    0 92.7G  0 part
      ├─/dev/mapper/rootvg-LogVol00 253:0    0    6G  0 lvm  /
      ├─/dev/mapper/rootvg-LogVol04 253:1    0    8G  0 lvm  [SWAP]
      ├─/dev/mapper/rootvg-LogVol03 253:3    0   15G  0 lvm  /var
      ├─/dev/mapper/rootvg-LogVol02 253:4    0   10G  0 lvm  /tmp
      └─/dev/mapper/rootvg-LogVol01 253:5    0   10G  0 lvm  /opt
    /dev/sdb                          8:16   0   50G  0 disk
    /dev/sdc                          8:32   0  1.5T  0 disk
    /dev/sdd                          8:48   0  1.5T  0 disk
    └─/dev/mapper/repovg-repolv     253:2    0    2T  0 lvm  /var/www/html
    /dev/sde                          8:64   0  1.5T  0 disk
    └─/dev/mapper/repovg-repolv     253:2    0    2T  0 lvm  /var/www/html
    /dev/sdf                          8:80   0  1.5T  0 disk
    └─/dev/mapper/repovg-repolv     253:2    0    2T  0 lvm  /var/www/html
    /dev/sdg                          8:96   0  1.5T  0 disk
    /dev/sdh                          8:112  0  1.5T  0 disk
    /dev/sr0                         11:0    1 1024M  0 rom
    
    
    [root@ development: /root] pvs | grep repovg
      PV         VG     Fmt  Attr   PSize    PFree
      /dev/sdc   repovg lvm2 a--    1.46t    1.46t
      /dev/sdd   repovg lvm2 a--    1.46t  500.00g
      /dev/sde   repovg lvm2 a--    1.46t 1000.00g
      /dev/sdf   repovg lvm2 a--    1.46t 1000.00g
      /dev/sdg   repovg lvm2 a--    1.46t    1.46t
      /dev/sdh   repovg lvm2 a--    1.46t    1.46t
  1. 首先我不明白下面的2.0T是怎么进来的。如果我们看到 lsblk 输出 /var/www/html 分布在 /dev/sdd、/dev/sde 和 /dev/sdf 上。那么根据数学计算应该是6.0T。
[root@xyz development: /root] df -h /var/www/html/
  FileSystem                  Size  Usage Free   Usage% Mount Point
  /dev/mapper/repovg-repolv   2.0T  1.7T  263G   87%   /var/www/html
  1. 其次,由于添加了新磁盘,我想将 /var/www/html 数据移动到其他磁盘并重组/移动安装点,如下所示。您能指导一下所有命令顺序吗?
FileSystem
/dev/sdc : repovg-rhel6lv    -> Mount to /var/www/html/RHEL6
/dev/sdd : repovg-rhel7lv    -> Mount to /var/www/html/RHEL7
/dev/sde : repovg-rhel7awslv -> Mount to /var/www/html/RHEL7AWS
/dev/sdf : repovg-rhel8lv    -> Mount to /var/www/html/RHEL8
/dev/sdg : repovg-amzn24lv -> Mount to /var/www/html/AMZN24
/dev/sdh : repovg-amzn24lv -> Mount to /var/www/html/AMZN24

答案1

现在,您有一个 LV“repolv”,其中包含一个文件系统,您希望将其拆分为更小的部分,例如“rhel6lv”、“rhel7lv”等。然后您希望将每个新 LV 迁移到单独的物理磁盘。

一般做法如下:

  1. 为现在需要自己单独的挂载点的每个新文件系统创建一个新的 LV
  2. 移动数据
  3. 将 LV 迁移到各自的物理磁盘(尽管我会问任何给定 LV 驻留在哪个磁盘上是否真的很重要)

使用一次性数据测试以下内容。在完全确定它满足您的要求之前,请勿将其应用于生产数据。

为原始文件系统创建绑定挂载:

mkdir /mnt/vwh
mount --bind /var/www/html /mnt/vwh               # Bind mount

现在,为每个新 LV/文件系统重复此块的变体。在开始之前检查适当的 LV 大小、文件系统类型和标签以及最终物理磁盘:

lvcreate --name rhel6lv --size 10G /dev/repovg    # Check size
mkfs -t ext4 --label rhel6 /dev/repovg/rhel6lv    # Check filesystem type and label name

mv /var/www/html/RHEL6 /var/www/html/RHEL6.old    # Save the original data
mkdir /var/www/html/RHEL6                         # Create mountpoint
mount /dev/repovg/rhel6lv /var/www/html/RHEL6     # Mount new filesystem
cp -a /mnt/vwh/RHEL6.old/. /var/www/html/RHEL6 &&
    rm -rf /mnt/vwh/RHEL6.old                     # Move data

pvmove --name rhel6lv /dev/sdc                    # Move extents for this LV to the required target disk

如果您没有任何(隐藏)点文件,/mnt/vwh/RHEL6.old您可以将其替换cp … && rm …mv /mnt/vwh/RHEL6.old/* /var/www/html/RHEL6.

对于如此数量的磁盘,我强烈建议您考虑使用 RAID 来防止硬件故障。和备份。很多备份。尤其是在开始之前进行备份,以防万一出现严重错误。

相关内容