centos 7 新增硬盘扩容及分区:需要用到fdisk
命令来进行分区
1,如果我们的硬盘格式是GPT格式的则需要转换成dos格式才能用fdisk命令来操作该硬盘 ,在上一章中记录过——转换方法 先用fdisk -l
来查看当前所存在的磁盘:
红色方框标记的就是我新增的两块硬盘(当然我之前打开显示的是GPT格式,我以通过转换方法转换成了linux)现在就可以使用fdisk
命令来进行分区了:
当前完成了对 /dev/sdb 硬盘的分区再使用 fdisk -l
来查看就会看见 图一 /dev/sdb1 字样;
分完区后将新建分区文件系统设为系统所需格式:
mkfs.文件系统格式 /dev/sdb1
以设置文件系统为“ext3”为例:
mkfs.ext3 /dev/sdb1
等待设置完成后就可以挂载到相应的文件夹下进行使用了
我在当前系统根目录下创建了一个data11 目录并用来做一个挂载点:
mount /dec/sdb1 /data11
执行过该条命令后就挂载成功了,可通过df -Th
来进行查看:(重点以加粗)
[root@192 data11]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 50G 11G 40G 22% /
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 8.8M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
**/dev/sdb1 ext3 500G 70M 879M 1% /data11**
以上步骤就实现了单块硬盘的分区挂载使用 。。。
but 我有两块硬盘当我都挂载到同一文件下发现只能挂载一块再挂载之前的会被覆盖:只存在一块。那么我们还要多的硬盘是不是没用了,当然有用!!! 只不过挂载方式不一样了(硬盘合成)通过百度观察LVM磁盘管理思想发现:原来硬盘还可以这样操作(小白的我很是惊讶呐!):
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!!!
LVM的原理
要想理解好LVM的原理,我们必须首先要掌握4个基本的逻辑卷概念。
①PE (Physical Extend) 物理拓展
②PV (Physical Volume) 物理卷
③VG (Volume Group) 卷组
④LV (Logical Volume) 逻辑卷
我们知道在使用LVM对磁盘进行动态管理以后,我们是以逻辑卷的方式呈现给上层的服务的。所以我们所有的操作目的,其实就是去创建一个LV(Logical
Volume),逻辑卷就是用来取代我们之前的分区,我们通过对逻辑卷进行格式化,然后进行挂载操作就可以使用了。那么LVM的工作原理是什么呢?
图片描述:
在LVM磁盘管理里,我首先要将这两块硬盘格式化为我们的PV(Physical Volume),也就是我们的物理卷,其实格式化物理卷的过程中LVM是将底层的硬盘划分为了一个一个的PE(Physical Extend),我们的LVM磁盘管理中PE的默认大小是4M大小,其实PE就是我们逻辑卷管理的最基本单位。比如说我有一个400M的硬盘,那么在将其格式化成PV的时候,其实际就是将这块物理硬盘划分成了100个的PE,因为PE默认的大小就是4M。这个就是我们的第一步操作。
1,pvcreate /dev/sdb1 /dev/sdc1
(可通过pvdisplay 查看)
在将硬盘格式化成PV以后,我们第二步操作就是创建一个卷组,也就是VG(Volume Group),卷组在这里我们可以将其抽象化成一个空间池,VG的作用就是用来装PE的,我们可以把一个或者多个PV加到VG当中,因为在第一步操作时就已经将该硬盘划分成了多个PE,所以将多个PV加到VG里面后,VG里面就存放了许许多多来自不同PV中的PE,我们通过上面的图片就可以看到,我们格式化了两块硬盘,通常创建一个卷组的时候我们会为其取一个名字,也就是该VG的名字。
2,vgcreate data /dev/sdb1 /dev/sdc1
(可通过vgdisplay 查看)
现在我们要创建逻辑卷基于卷组(VG)创建逻辑卷(LV) 通过 lvcreate 命令
因为创建好的PV、VG都是底层的东西,我们上层使用的是逻辑卷,所以我们要基于VG创建我们的逻辑卷才行
用的命令是:lvcreate -n mylv -L 1030G data ## mylv–自定义的卷名, data 是刚才的卷组 用lvdisplay 查看卷信息
3,lvcreate -n mylv -L 1030G data
(可通过lvdisplay 查看)
我们已经创建好了我们的PV、VG以及LV,这时候我们如果要使用逻辑卷,就必须将其格式化成我们需要用的文件系统,
并将其挂载起来,然后就可以像使用分区一样去使用逻辑卷了mkfs.ext3 /dev/data/mylv
格式化文件系统
格式化我们的逻辑卷以后,就可以使用 mount 命令将其进行挂载,我们将其挂载到 /data11 目录下, data11目录是我提前创建好的mount /dev/data/mylv /data11
挂载
修改/etc/fstab文件,让其开机自动挂载
vim /etc/fstab 按G 跳到最后一行加入如下内容
“/dev/data/mylv /data11 ext3 defaults 0 0”
根据你的实际环境改变
到这里我们就实现了二合一的使用,但是如果我们后期还要继续添加硬盘 ↓ ↓ ↓
假设我们再增加一块硬盘为 /dev/sdd1
第一步:
[root@192 /]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
[root@192 /]# pvdisplay
--- Physical volume ---
PV Name /dev/sdd1
VG Name data
PV Size 465.76 GiB / not usable 3.02 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 119234
Free PE 0
Allocated PE 119234
PV UUID 2JuybS-xzUQ-h7q5-hzLF-fFqv-UzU3-G3ZozC
第二步:
[root@192 /]# vgextend data /dev/sdd1
Volume group "data" successfully extended
[root@192 /]# vgdisplay
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 4
Act PV 4
VG Size <1.82 TiB //这里会发现容量已经增大了
PE Size 4.00 MiB
Total PE 476936
Alloc PE / Size 348160 / <1.33 TiB
Free PE / Size 128776 / 503.03 GiB
VG UUID hqdEd1-03aQ-zMsd-fPeV-JluL-0joY-jXhdGu
第三步:
[root@192 /]# lvextend -l +100%FREE /dev/data/mylv
Size of logical volume data/mylv changed from <1.33 TiB (348160 extents) to <1.82 TiB (476936 extents).
Logical volume data/mylv successfully resized.
[root@192 /]# lvdisplay
--- Logical volume ---
LV Path /dev/data/mylv
LV Name mylv
VG Name data
LV UUID jGXCJR-HdxT-XXQx-Yhyb-0vM0-VyN2-8gRweb
LV Write Access read/write
LV Creation host, time 192.168.0.104, 2019-02-14 10:30:47 +0800
LV Status available
# open 1
LV Size <1.82 TiB //逻辑卷的容量也扩容了
Current LE 476936
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
到这里 df -Th
查看我们的挂载盘发现容量还是未增加
则需要刷新一下挂载盘resize2fs /dev/data/mylv
之后就会发现挂载盘的容量也得到扩容了 实现了 二加一的扩容
下面我们来对整个LVM的工作原理进行一个总结:
(1)物理磁盘被格式化为PV,空间被划分为一个个的PE
(2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内
(3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘
(4)LV现在就直接可以格式化后挂载使用了
(5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据