磁盘分区
对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
更改分区的IDw
保存分区q
退出
分区原则:
1 分区可以分为主分区和拓展分区
2 主分区可以分成四个,将剩下的分区都分给拓展分区
3 然后在拓展分区下再新建逻辑分区
分区示例1
2
3
4
5
6
7
8
9Command (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 创建PV1
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 创建VG1
2
3[root@localhost /]# vgcreate vg0 /dev/vdb{5,6,7}
Volume group "vg0" successfully created
[root@localhost /]# vgdisplay //查看已经创建的VG
7 创建LV1
2
3[root@localhost /]# lvcreate -L 700M -n lv1 vg0
Logical volume "lv1" created
[root@localhost /]# lvdisplay //查看已经创建的lv
8 格式化lv11
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 挂载格式化后的lv11
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 删除lv11
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 删除VG1
2[root@localhost /]# vgremove vg0
Volume group "vg0" successfully removed
11 删除PV1
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