liunx磁盘在线扩容

原文地址-有图
原文地址-有图
原文地址-有图

分区概念

磁盘分区其实就像柜子打格子一样,打成不同的格子放不同的衣服,裤子,帽子,领带等,
磁盘可以分成多个物理分区,放不同的数据。

主分区:最多只能有4个主分区(包含扩展分区)

扩展分区:
也是主分区的一种,也就是说主分区+扩展分区最多只能4个,
扩展分区不能格式化,不能存储数据,只能在划分成逻辑分区才能使用

逻辑分区:
逻辑分区是在扩展分区中划分的,
如果是IDE硬盘,Linux最多支持59个逻辑分区
如果是SCSI硬盘,Linux最多支持11个逻辑分区

分区的表示法

sda1、sda2、sda5、sda6、
数字1、2、5、6,1~4是代表主分区,逻辑分区是从5开始的
sda1、sdb1、sdc1、
a、b、c指的是磁盘的个数,一般从a开始 ,这里是3个磁盘
3个主分区,1个扩展分区,扩展分区中有3个逻辑分区
主分区1	/dev/sda1
主分区2	/dev/sda2
主分区3	/dev/sda3
扩展分区	/dev/sda4
逻辑分区1	/dev/sda5
逻辑分区2	/dev/sda6
逻辑分区3	/dev/sda7

1个主分区,1个扩展分区,扩展分区中有3个逻辑分区

主分区1	/dev/sda1
扩展分区	/dev/sda2
逻辑分区1	/dev/sda5
逻辑分区2	/dev/sda6
逻辑分区3	/dev/sda7

查看各个磁盘的使用情况

df -lh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2xCqPDN-1606554837655)(static.54288.top/upload/微信图片_20201107164134.png)]

由上图我们可以看到这台机器有两块磁盘vda和vdb
vdb没有进行分区 vda有一个分区vda1

查看磁盘具体信息

fdisk -l 

blocks 容量(k)
sector 扇区(字节)一个扇区是512个字节
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hlCluHzN-1606554837656)(static.54288.top/upload/CCFAD7C3-AEEA-4fff-9EB0-E0983AEF4F03.png)]

由上图我们可以看到
vda 有一个分区vda1 40G
vdb没有分区 21G

分区

接下来我们对vdb进行分区

fdisk   /dev/vdb

m是帮助手册

n 创建一个新的分区

p是主分区   e是扩展分区 (主分区和扩展分区加起来最多只能是4个)
1  分区号(vdb1  只能是1~4)

设置容量起始和结束为止(这里直接回车就是将剩余的全部分配出去)
起始默认是从上一个分区的下一个点开始,可以使用+30G  这里的给分配30G

w  是保存分区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjmMApm6-1606554837657)(static.54288.top/upload/4049A7AC-CC80-416b-847F-3D852B2BCB44.png)]

创建文件系统

创建好分区,接下来我们需要对分区创建一个文件系统(也可以说是格式化)
注意这个步骤要对磁盘的数据进行备份,,不然会丢失
注意这个步骤要对磁盘的数据进行备份,,不然会丢失
注意这个步骤要对磁盘的数据进行备份,,不然会丢失

mkfs.ext4   /dev/vdb1   创建一个ext4的文件系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wMqerEZB-1606554837665)(static.54288.top/upload/1AD25119-A87D-482e-A528-E7D649EB1AE3.png)]

挂载

格式化后我们就可以将这个磁盘挂载到一个目录中了

我们创建一个目录  
mkdir /data

然后将磁盘挂载上去
mount /dev/vdb1  /data
也可以是
mount -t ext4 /dev/vdb1  /data

永久生效

但是如果重启之后挂载就看不到了,要永久生效需要在 /etc/fstab

/dev/vdb1   /data   ext4    defaults   0 0

这里我出现一个问题,导致服务器启动不起来
就是我将上面这行写入/etc/fstab  然后将分区/dev/vdb1删除,这里启动的时候就找不到分区,这样服务器就启动不成功,可以到阿里云后台进入,将这行注释掉然后重启,就可以了

卸载

umount /dev/vdb1

对数据盘进行在线扩容

假设我们一个磁盘没有分区直接挂载到一个目录上,但是后面磁盘不够了,需要扩容,我们就可以在云服务器后台进行对磁盘的容量进行添加,然后使用命令
//针对ext4文件格式的操作系统(如CentOS6)
e2fsck -f /dev/vdb
resize2fs /dev/vdb

//针对xfs文件格式的操作系统(如CentOS7)
xfs_repair /dev/vdb
xfs_growfs /data

不用关机不用卸载,使用df -lh 就可以直接看到了

传统分区扩容

上面我们讲的是没有进行分区的,但是假设我们进行了分区  只有一个分区vdb1 30G,但是磁盘有50G
后面我们要进行扩容使用   resize2fs /dev/vdb   只能缩小  不能大于30G,

如果要扩容就只能重新分区,数据要备份迁移
这是传统分区的缺点,

LVM管理(LV、VG、PV)

上面我们讲了传统分区,如果要扩容,就需要数据进行迁移
我们可以使用LVM来管理,就可以直接在线扩容

物理卷 PV

物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。

卷组 VG

卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

逻辑卷 LV

逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要可以属于同一个卷组,也可以属于不同的多个卷组。

物理区域 PE

物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。

默认大小为4M的PE

逻辑区域 LE

逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

一个卷组(VG)由一个或多个物理卷(PV)组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VOAUctNM-1606554837665)(static.54288.top/upload/ef0db20a6b744b68a3ebd54d5558b868.png)]

PV LV VG 之间的关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JhzPnQIA-1606554837672)(static.54288.top/upload/131120334702458.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9OIiCwq4-1606554837672)(static.54288.top/upload/162c9d98791d4c31bc29a203c2ff07fe.png)]

一块硬盘被分区物理分区,然后将分区转成物理卷,其内部是被分成若干个默认大小为4M的PE,然后在PV的基础上创建卷组,可以将一个或者多个PV加到VG中,VG就好像一个空间池,假如多少个PV,VG就有多大的容量,最后基于VG创建逻辑卷,一个逻辑卷就是若干个PE,然后将LV格式化再挂载

实践

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qZd38GII-1606554837673)(static.54288.top/upload/4D644026-C746-47a3-AEC1-0FD4824D94F0.png)]

创建一个物理卷
pvcreate 硬盘名称(物理分区名)
pvcreate /dev/vdb1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Er2Pm5oX-1606554837673)(static.54288.top/upload/3367412A-3229-4e09-B585-CB4A56E9B845.png)]

创建一个卷组
vgcreate 自定义VG名称 要加入的PV
vgcreate vg-test /dev/vdb1
vgdisplay 可以用来查看vg信息

如果卷组已经存在  将物理卷加入卷组
vgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。
LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。

vgextend vg2000 /dev/sdb2  #将物理卷"/dev/sdb2"加入卷组"vg2000"



[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k519WfVp-1606554837674)(static.54288.top/upload/F9B5F038-39A8-4bd9-BAFB-3E093824ED9F.png)]

创建一个逻辑卷
create -n 自定义逻辑卷名称 -L 要创建的逻辑卷的大小 VG名称
lvcreate -n lv-test -L 3G vg-test
创建文件系统
mkfs.ext4 逻辑卷名
mkfs.ext4 /dev/vg-test/lv-test

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V52Lw0xw-1606554837674)(static.54288.top/upload/BB932F0B-EE88-488c-8D71-EEDC67DAFD58.png)]

挂载
mount 逻辑卷名  目录名
mount /dev/vg-test/lv-test /lvtest/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0d5mc4j2-1606554837675)(static.54288.top/upload/84D94530-7931-43f4-9A89-BBDB60437C6E.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EM58XgPJ-1606554837675)(static.54288.top/upload/E1EDC65E-2BB0-4667-B764-81A8DDC16755.png)]

lvextend -L +1G  逻辑卷名
扩容1G变成4G
lvextend -L +1G /dev/mapper/vg--test-lv--test名字这个很奇怪()

这里会发现/dev/mapper/vg--test-lv--test名字这个很奇怪(这是使用fdisk -l查看出来的,也可以是逻辑卷名)
这里名字很奇怪,下次还是不要用这种带有横杠的名字,使用驼峰

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2cIT5BpG-1606554837676)(static.54288.top/upload/402E9653-38C2-4b6b-B9E4-509B88249470.png)]

更新文件系统
resize2fs 逻辑卷名
resize2fs /dev/mapper/vg--test-lv--test

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bHS1dmjH-1606554837676)(static.54288.top/upload/44706BEF-6762-4511-AF16-AD6057F881EB.png)]

缩小的话,有的不支持,会丢数据(网上说的没试验)

其他问题

一个目录只能挂载一个磁盘,假设我一个磁盘后面不够了,要换一个新的磁盘,我们可以将旧的磁盘卸载掉,然后挂载到一个临时目录,然后将旧的目录挂载到新的磁盘上,然后将临时目录的东西 复制过来

参考

https://www.cnblogs.com/jackruicao/articles/6258812.html
https://www.cnblogs.com/xs104/p/4642406.html
https://www.toutiao.com/i6665174678681682435/

参考

原文地址

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值