linux lvm的详细操作

查看硬盘情况:lsblk  (查看分区情况用df -h)

Lvm流程

先介绍一下流程,以便大家从总体上对创建LVM有一个了解。 

1. 对新磁盘进行分区操作(fdisk);【如果是新硬盘就不需要分区, 使用过的需要做一个分区】

2. 逐一变更分区类型为Linux LVM(Hex代码为:8e); 

3. 针对每个分区创建物理卷(pvcreate); 

4. 创建卷组(vgcreate); 

5. 创建逻辑卷(lvcreate); 

6. 格式化(mkfs.ext4/mkfs.xfs),并挂载(mount)。

一、磁盘分区及类型更改

fdisk和gpt工具的区别:

1、fdisk

(1)fdisk命令只支持msdos,分区的时候只支持小容量硬盘(<=2T),但是如果不需要分区的话,那么整块sdb硬盘,类型为msdos,那么他的大小是可以大于2T的。

(2)fdisk命令不支持gpt,所以当使用fdisk命令给gpt类型硬盘分区是会出现告警,就像下面例子中的WARNING

(3)当使用parted命令给一个5T的硬盘分好三个分区之后,在使用fdisk命令查看,会不兼容(parted打印的分区有三个,而fdisk命令打印的分区只有一个)

2、parted:

(1)支持msdos和gpt,可以支持大硬盘,也支持小硬盘。

(2)区分parted命令给msdos类型和gpt类型硬盘分区的不同:

①下面是parted给msdos类型硬盘分区:

②下面是parted给gpt类型硬盘分区:

3、msdos

    支持小于2T的硬盘,不支持大于2T的硬盘

    有主分区,扩展分区,逻辑分区

    如果使用fdisk命令给一个大于2T的msdos类型硬盘分区,只能给2T的部分分区,超过2T的部分不能使用,也就浪费了。

4、gpt

    支持大小容量的硬盘

    不区分主分区,扩展分区,逻辑分区,也没有4个分区数量的限制


版权声明:本文为CSDN博主「凤雏Y」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_44714603/article/details/88659996

fdisk对磁盘进行分区

fdisk /dev/sda    fdisk [必要参数][选择参数]      输入fdisk /dev/sda这个命令然后根据提示完成后续操作;

必要参数:

-l 列出素所有分区表

-u 与"-l"搭配使用,显示分区数目

选择参数:

-s<分区编号> 指定分区

-v 版本信息

菜单操作说明

m :显示菜单和帮助信息

a :活动分区标记/引导分区

d :删除分区

l :显示分区类型

n :新建分区

p :显示分区信息

q :退出不保存

t :设置分区号

v :进行分区检查

w :保存修改

x :扩展应用,高级功能

gpt工具进行分区:

开机后,输入fdisk -l查看新添加的硬盘设备,由于我这里已经有了两块硬盘,所以新添加的硬盘为sdc,由于还没有进行分区所以没有分区表信息。

输入parted /dev/sdc 启用parted工具

输入mklabel gpt切换为gpt分区模式,再输入print查看是否切换成功

输入mkpart 以交互模式进行分区,设置好后可以用print查看是否分区成功;也可以用命令模式进行分区mkpart 【分区名】 【文件类型】 【起始点】 【结束点】

分区完成后,输入quit退出parted工具

输入ls /dev/sdc* 查看分区设备名称,用mkfs工具格式化分区即可


二、创建物理卷(PV)

创建物理卷,这是创建LVM的第一步。使用如下命令对每一个分区进行操作。

pvcreate /dev/sdb1

创建完成之后查看有两种方法:pvdisplay/pvs

三、创建卷组(VG)

创建物理卷完成后,就需要将物理卷加入到特定的卷组。

vgcreate vg1 /dev/sdb1 /dev/sdb2  (如果有更多个可以继续再后面追加)

查看卷组的两种方法:vgdisplay/vgs

四、创建逻辑卷(LV)

创建卷组完成后,我们就可以在卷组上创建逻辑卷。使用下面的命令,我们在卷组vg1上创建一个名称为lv1、大小为1GB的逻辑卷:

lvcreate -L 1G -n lv1 vg1

查看逻辑卷的两种方法:lvdisplay/lvs

五、格式化逻辑卷并挂载

使用下面的命令,对逻辑卷lv1进行格式化:

mkfs.ext4 /dev/vg1/lv1 (ext4为文件系统格式)

格式化完成后,将该逻辑卷挂载到目录/mnt上:

mount /dev/vg1/lv1 /mnt   (取消挂载umount)

六、设置开机自动挂载分区

查看逻辑卷的UUID: blkid 

最后一行就是逻辑卷的信息,将UUID复制出来

编辑/etc/fstab在最后添加一行,输入如下内容:

/dev/vg/lv  /mnt                    ext4    defaults     0 0

然后保存退出,重启查看结果,能正常挂载就没问题了,以上就是关于LVM创建和挂载的全部流程。

注:如果重启进入紧急模式,可能是由于盘开机没有挂载上造成

七、卷组扩容

我们上一节创建LVM中创建了五个分区,但只使得了其中二个分区,在这一节中,我们要把剩余的三个分区加入到卷组vg1中,对其进行扩容。下面的流程只针对新加入的磁盘或者分区,因此这里对流程1-3步的操作就不再做介绍了,具体的操作方法可参照创建LVM。

流程

创建新的磁盘分区(fdisk);

变更分区类型为Linux LVM(Hex代码为:8e);

创建物理卷(pvcreate);

扩展卷组(vgextend);

扩展卷组

使用如下命令将剩余的三个分区加入到卷组vg1

[root@localhost ~]# vgextend vg1 /dev/sdb3 /dev/sdb5 /dev/sdb6Volumegroup"vg1"successfully extended

查看扩展后的卷组:

[root@localhost ~]# vgsVG#PV #LV #SN Attr  VSize VFreevg1510wz--n-9.98g8.98g

已经完了卷组的扩容。

八、卷组缩容

如果想要对卷组缩容,实际上就是要把加入的卷组的物理卷从卷组中移除。 

这时需要注意的是:如果要移除的物理卷,已经被使用的话,移除操作可能会对文件系统造成操作。因此移除操作应针对未被使用的物理卷。

(一)、确认物理卷使用情况

[root@localhost ~]# pvs

PV        VG  Fmt  Attr PSize  PFree  

/dev/sdb1  vg1 lvm2 a--  <2.00g    0

/dev/sdb2  vg1 lvm2 a--  <2.00g    0

/dev/sdb3  vg1 lvm2 a--  <2.00g <1.99g

/dev/sdb5  vg1 lvm2 a--  <2.00g <2.00g

/dev/sdb6  vg1 lvm2 a--  <2.00g <2.00g

只有PFree等于PSize,也就是说没有被使用的物理卷,还能被列入考虑范围。根据上面命令的执行结果,只有/dev/sdb5和/dev/sdb6二个可以被移除。 

查看卷组的使用情况:

[root@localhost ~]# vgs

VG #PV #LV #SN  Attr   VSize VFree

vg1   5       0      0  wz--n- 5.99g  9.98g

(二)、卷组缩容

[root@localhost ~]# vgreduce vg1 /dev/sdb5 /dev/sdb6 

Removed "/dev/sdb5" from volume group "vg1" 

Removed "/dev/sdb6" from volume group "vg1" 

查看结果: 

[root@localhost ~]# vgs 

VG #PV #LV #SN  Attr      VSize   VFree 

vg1    3      1      0   wz--n-  <5.99g  <1.99g 

可以看到VFree的容量已经减少了,到此完成了卷组缩容

你可能感兴趣的:(linux lvm的详细操作)