linux学习--磁盘分区和lvm的使用

磁盘分区

对linux的第二块磁盘进行分区
使用fdisk /dev/sdb

1
2
3
4
5
6
7
8
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):

m 可以查看帮助选项
p 答应当前的分区
d 删除一个分区
n 新建一个分区
t 更改分区的ID
w 保存分区
q 退出
分区原则:
1 分区可以分为主分区和拓展分区
2 主分区可以分成四个,将剩下的分区都分给拓展分区
3 然后在拓展分区下再新建逻辑分区
分区示例

1
2
3
4
5
6
7
8
9
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (20973568-31277231, default 20973568):
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-31277231, default 31277231): +1G

分好区后,输入p即可查看所分的区
输入wq即可保存退出
分好区后一定要刷新分区使用partprobe命令
然后格式化使用mkfs.分区格式 磁盘分区

lvm

lvm的简介

lvm是linux环境下对磁盘分区进行管理的一种机制。lvm是建立在硬盘和分区之上的
一个逻辑层,来提高磁盘分区管理的灵活性。通过lvm可以轻松管理磁盘分区。
将若干个磁盘分区pv(physical volume)链接成为一个整块的卷组vg(volumegroup),形成一个存储池
而管理员可以在卷组上创建逻辑卷组lv(logicalvolumes)
同时,逻辑卷组lv可以拓展。
存储池vg也可以通过增加pv来拓展,这样就可以实现动态的增加和减少

相关术语

物理卷(Physical Volume,PV)
磁盘分区或从逻辑上与磁盘分区具有相同功能的设备(如RAID),是LVM的基本存储逻辑
块,但和基本的物理存储接只(如分区,磁盘等)比较,却包含有与LVM相关的管理参数
卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成,可以在卷组上创建
一个或者多个LV(逻辑卷)
逻辑卷(Logical Volume,LV)
类似于非LVM系统中的逻辑分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立
文件系统(比如/home或者/usr等)
物理块(Physical Extent ,PE)
每一个物理卷PV被划分为PE(Physical Extents)的基本单元,具有唯一的编号的PE是
可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大
小的等同的PE组成。
逻辑块(Logical Extent,LE)
逻辑卷LV也被划分为可被寻址的基本单元,成为LE。在每一个卷组中,LE的大小和PE是相同的,并且一一对应。

实际操作

1 在虚拟机中添加一块10G的硬盘,为vd
2 先分三个主分区,每个2G,vdb1,vdb2,vdb3剩下的分给拓展分区vdb4
3 再在拓展分区下新建3个逻辑分区均为500M,vdb5,vdb6,vdb7
4 更改三个逻辑分区的ID,输入t,更改成8e,输入p会发现格式变为linux lvm
5 创建PV

1
2
3
4
5
6
7
[root@localhost /]# pvcreat /dev/vdb{5,6,7}
WARING: xfs signature detected on /dev/vdb5 at offset 0,Wipe it? [y/n] y
Wiping xfs signature on /dev/vdb5
Physical volume "/dev/vdb5" successfully created
Physical volume "/dev/vdb6" successfully created
Physical volume "/dev/vdb7" successfully created
[root@localhost /]# pvdisplay //查看已经创建的PV

6 创建VG

1
2
3
[root@localhost /]# vgcreate vg0 /dev/vdb{5,6,7}
Volume group "vg0" successfully created
[root@localhost /]# vgdisplay //查看已经创建的VG

7 创建LV

1
2
3
[root@localhost /]# lvcreate -L 700M -n lv1 vg0
Logical volume "lv1" created
[root@localhost /]# lvdisplay //查看已经创建的lv

8 格式化lv1

1
2
3
4
5
6
7
8
9
10
[root@localhost /]# mkfs.xfs /dev/vg0/lv1
meta-data=/dev/vg0/lv1 isize=256 agcount=4, agsize=44800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4090 blocks=179200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 asicii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks,lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

8 挂载格式化后的lv1

1
2
[root@localhost /]# mount /dev/vg0/lv1 /mnt
[root@localhost /]# df //查看已经挂载的LV

9 LV的拓展

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost /]# lvextend -L 1000M /dev/vg0/lv1
//执行这个只能是增加了存储区,但是控制区没有被扩大,使用df查看仍然是700M
[root@localhost /]# xfs_growfs /dev/mapper/vg0-lv1
meta-data=/dev/vg0/lv1 isize=256 agcount=4, agsize=44800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4090 blocks=179200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 asicii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks,lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
date blocks changed from 179200 to 256000
//这样,lv1才真正被扩大了

8 扩大VG
先新建一个PV,和之前的方法一样,先新建分区vdb8.然后更改ID,保存退出
刷新分区partprobe
创建PVpvcreat /dev/vdb8
扩大VGvgcreatend vg0 /dev/vdb8
9 删除lv1

1
2
3
[root@localhost /]# lvremove /dev/vg0/lv1
D0 you really want to remove active logical volume lv1? [y/n]:y
Logical volume "lv1" successully removed

10 删除VG

1
2
[root@localhost /]# vgremove vg0
Volume group "vg0" successfully removed

11 删除PV

1
2
3
4
5
[root@localhost /]# pvremove /dev/vdb{5,6,7,8}
Labels on physical volume "/dev/vdb5" successfully wiped
Labels on physical volume "/dev/vdb6" successfully wiped
Labels on physical volume "/dev/vdb7" successfully wiped
Labels on physical volume "/dev/vdb8" successfully wiped

Contents
  1. 1. 磁盘分区
  2. 2. lvm
    1. 2.1. lvm的简介
    2. 2.2. 相关术语
    3. 2.3. 实际操作
,