centos 磁盘重新分区操作实践

一、需求:

某个盘符写满不影响主程序的运行。

二、设计:

1,关键程序单独使用某个盘符。

2,冗余程序使用单独盘符。

3,日志等数据单独使用盘符。

4,过程(临时)数据单独使用盘符。

三、现状:

1,我们使用centos 7.5 minimal装系统,默认3个盘符。分别为root,swap,home

2,如果我们新建文件夹,他们都是默认挂载到/root目录的。带来的问题就是如果data目录数据写满则/dev/mapper/centos-root 则会写满,那么程序如果运行在/opt或者/usr目录则会出现不可预知的错误。

[root@test ~]# df /usr/ -hT
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs    50G  7.0G   44G  14% /
[root@iVoice8000 ~]# mkdir /data
mkdir: cannot create directory ‘/data’: File exists
[root@iVoice8000 ~]# df /data -hT
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs    50G  7.0G   44G  14% /
[root@iVoice8000 ~]# df /tmp -hT 
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs    50G  7.0G   44G  14% /
[root@iVoice8000 ~]# fdisk -l

四、方案:

1,在软件安装前对系统现存盘符进行修改

2,不动/dev/mapper/centos-root盘符,先卸载/dev/mapper/centos-home释放磁盘空间

3,重新规划sda2的磁盘划分

五、实施:

1,释放磁盘空间

1.1 查看磁盘使用情况

[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0   67G  0 lvm  /home
sr0              11:0    1 1024M  0 rom  

可以看到sda2下分了3个逻辑盘符,其中root 50G,home 67G

1.2 取消挂载

[root@localhost ~]# umount /home/
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0   67G  0 lvm  
sr0              11:0    1 1024M  0 rom  

使用umount 命令取消挂载,也就是取消文件夹与逻辑盘符的绑定关系

使用lsblk命令查看盘符挂载情况,发现倒数第二行挂载点上没有/home了

1.3 删除逻辑倦

使用lvdisplay查看逻辑盘符

[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                Br0XAY-bwe9-HGV4-hS90-UAhv-Vqk3-IEeNkP
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-06-10 11:26:23 -0400
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                TqdieY-PHn9-1yWL-2UGC-ivvb-8dp8-qG8OZ5
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-06-10 11:26:23 -0400
  LV Status              available
  # open                 0
  LV Size                66.99 GiB
  Current LE             17150
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                iibIO2-C3SJ-XSqD-BDL1-lSZ2-EO6b-fXfFDb
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-06-10 11:26:24 -0400
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

使用lvremove删除逻辑倦

[root@localhost ~]# lvremove home
  Volume group "home" not found
  Cannot process volume group home
[root@localhost ~]# lvremove /dev/centos/home
Do you really want to remove active logical volume centos/home? [y/n]: y
  Logical volume "home" successfully removed

再次使用lvdisplay查看逻辑盘符发现home对应的盘符没有了

[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                Br0XAY-bwe9-HGV4-hS90-UAhv-Vqk3-IEeNkP
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-06-10 11:26:23 -0400
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                iibIO2-C3SJ-XSqD-BDL1-lSZ2-EO6b-fXfFDb
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-06-10 11:26:24 -0400
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

1.4 查看结果

使用lsblk发现sda2总共119G 而sda2分出的root和swap总共就占了50G+2G 还剩下67G就是我们释放出来的空间

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom  

2,分盘

2.1 创建逻辑分区

使用lvcreate创建逻辑分区

[root@localhost ~]# lvcreate -L 20G -n home centos
WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/centos/home.
  Logical volume "home" created.
[root@localhost ~]# lvcreate -L 20G -n opt centos 
  Logical volume "opt" created.
[root@localhost ~]# lvcreate -L 10G -n data centos      
  Logical volume "data" created.

2.2剩余空间创建逻辑分区

先使用vgdisplay查看空间,再根据剩余空间大小创建

[root@localhost ~]# vgdisplay centos
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <119.00 GiB
  PE Size               4.00 MiB
  Total PE              30463
  Alloc PE / Size       26112 / 102.00 GiB
  Free  PE / Size       4351 / <17.00 GiB
  VG UUID               N5ImDE-pW9u-oNCJ-diM8-380f-B5pW-Pmfq56
   
[root@localhost ~]# lvcreate -L 15G -n tmp centos  
  Logical volume "tmp" created.

2.3查看结果

查看分区和挂载情况,发现sda2多了好多逻辑盘符,但是挂载点都没有挂载目录

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  ├─centos-home 253:2    0   20G  0 lvm  
  ├─centos-opt  253:3    0   20G  0 lvm  
  ├─centos-data 253:4    0   10G  0 lvm  
  └─centos-tmp  253:5    0   15G  0 lvm  
sr0              11:0    1 1024M  0 rom 

3,重新挂载

挂载的实质是将文件夹与逻辑盘对应。

3.1 格式化

使用mkfs.xfs格式化新盘符

[root@localhost /]# mkfs.xfs /dev/mapper/centos-opt 
meta-data=/dev/mapper/centos-opt isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3.2 挂载

[root@localhost /]# mount /dev/mapper/centos-opt /opt
[root@localhost /]# mount /dev/mapper/centos-data /data
[root@localhost /]# mount /dev/mapper/centos-tmp /tmp 
[root@localhost /]# mount /dev/mapper/centos-home /home

3.3 查看结果

[root@localhost /]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  ├─centos-home 253:2    0   20G  0 lvm  /home
  ├─centos-opt  253:3    0   20G  0 lvm  /opt
  ├─centos-data 253:4    0   10G  0 lvm  /data
  └─centos-tmp  253:5    0   15G  0 lvm  /tmp
sr0              11:0    1 1024M  0 rom  

4,固化

重启系统后会发现之前挂载的东西都没了。但是/home这个挂载点在。

因为之前的设置都是没有固化到系统的,相当于动态配置,重启会失效。

 [root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  ├─centos-home 253:2    0   20G  0 lvm  /home
  ├─centos-opt  253:3    0   20G  0 lvm  
  ├─centos-data 253:4    0   10G  0 lvm  
  └─centos-tmp  253:5    0   15G  0 lvm  
sr0              11:0    1 1024M  0 rom                                                                              

打开/etc/fstab,将新加的mount对应关系写入该文件即可


#
# /etc/fstab
# Created by anaconda on Thu Jun 10 11:26:25 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=3bb40f7e-73f9-43f9-9cff-6c6edc69568e /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-data /data                   xfs     defaults        0 0
/dev/mapper/centos-tmp  /tmp                   xfs     defaults        0 0
/dev/mapper/centos-opt  /opt                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

六、总结

1,我花了几天时间看磁盘挂载相关内容,并进行了多次实践。

2,本次文章是我一边做上述操作,一边记录的,算是巩固知识。

3,之前踩的坑本文没有描述,后续会做记录

4,本文提到的各种命令和背景知识,后续等我融会贯通了再写一篇。

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值