Linux更换磁盘调整分区

背景:

原有磁盘过小,挂载到/和/home,新增磁盘200G希望替换掉/home挂载


基本信息:

[root@tuxingzu data]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G  8.9M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G   39G   12G   78% /
/dev/sda1               1014M  189M  826M   19% /boot
/dev/mapper/centos-home   27G   11G   17G   41% /home
tmpfs                    783M     0  783M    0% /run/user/0
/dev/sdb                 197G   61M  187G    1% /data

fdisk -l 

[root@tuxingzu data]# fdisk -l

磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b76e0

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   167772159    82836480   8e  Linux LVM

磁盘 /dev/sdb:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:29.0 GB, 28982640640 字节,56606720 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

注意到/home目录的磁盘设备(lvs)路径为:/dev/mapper/centos-home

lsblk -f

[root@tuxingzu /]# lsblk -f
NAME            FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                      
├─sda1          xfs               6d082565-b66d-4b69-9198-a17b01a2a3c8   /boot
└─sda2          LVM2_member       UjmgRE-quzX-yBz6-lUbD-9ofr-2mbL-6cXNHz 
  ├─centos-root xfs               70915e7b-5271-4a5d-a128-00d25ffe0087   /
  ├─centos-swap swap              52f7726b-94e9-413e-91d7-89e61d8f433c   [SWAP]
  └─centos-home xfs               80d40683-4839-456b-8bb2-6bea448e43f0   
sdb             ext4              4318cab7-8ef1-4487-84b0-759dac906d9c   /home
sr0  


解决方案:

1、将新增磁盘分区,然后挂载到一个临时目录,例如 /data

然后将/home整个目录镜像拷贝到/data目录

mkdir /data
mount /dev/sdb /data
cp -a /home /data/
cd /data && mv home/* .

2、手动关闭一些占用home目录文件的进程,然后卸载/home目录的挂载磁盘

然后移除逻辑分区:lvremove /dev/mapper/centos-home

移除之后,pvs可以看到PFree多出来了20多G

[root@tuxingzu ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <79.00g 4.00m
[root@tuxingzu data]# umount /dev/mapper/centos-home

[root@tuxingzu ~]# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
  Logical volume "home" successfully removed
[root@tuxingzu ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sda2  centos lvm2 a--  <79.00g <27.00g

3、扩展其他逻辑分区

使用lvextend,然后执行resize2fs或者xfs_growfs(xfs格式)

[root@tuxingzu ~]# lvextend -l +100%free /dev/mapper/centos-root
  Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to <77.00 GiB (19711 extents).
  Logical volume centos/root successfully resized.

  // 报错  
[root@tuxingzu ~]# resize2fs /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root 时
找不到有效的文件系统超级块.

// 换成xfs_growfs 即可
[root@tuxingzu ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 20184064
[root@tuxingzu ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G  8.9M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   77G   39G   39G   51% /
/dev/sdb                 197G   11G  176G    6% /home
/dev/sda1               1014M  189M  826M   19% /boot
tmpfs                    783M     0  783M    0% /run/user/0


(完)

© 2009-2020 Zollty.com 版权所有。渝ICP备20008982号