分区概念
磁盘分区其实就像柜子打格子一样,打成不同的格子放不同的衣服,裤子,帽子,领带等,
磁盘可以分成多个物理分区,放不同的数据。
主分区:最多只能有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/