环境:centos7一台虚拟机、新添加一块磁盘20G
查看系统磁盘
[root@bogon ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 512M 0 part [SWAP]
└─sda3 8:3 0 19G 0 part /
sdb 8:16 0 20G 0 disk ---这里显示出来一块20G的磁盘未分区
sr0 11:0 1 552M 0 rom
硬盘分区及格式化
- 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/sdb上按以下要求建立分区:
- 采用默认的 msdos 分区模式
- 第1个分区 /dev/sdb1 的大小为 200MiB
- 第2个分区 /dev/sdb2 的大小为 2000MiB
- 第3个分区 /dev/sdb3 的大小为 1000MiB
- 完成分区后,能够配置开机自动挂载 /dev/sdb1 分区:
- 文件系统类型为 EXT4
- 将其挂载到 /data 目录
- fdisk分区工具用来建立msdos分区方案,其交互模式中的主要指令如下:
m:列出指令帮助
p:查看当前的分区表信息
n:新建分区 d:删除分区
t:更改分区标识
q:放弃分区更改并退出
w:保存对分区表所做的更改
1. 新建分区表
1.1、打开fdisk工具,操作磁盘/dev/sdb
[root@bogon ~]# 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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xffcdec1a.
Command (m for help): --交互操作提示信息
1.2、新建第1个分区/dev/sdb1
Command (m for help): n --新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p --类型为P(主分区)
Partition number (1-4, default 1):1 --分区编号1,直接回车即可
First sector (2048-41943039, default 2048): --起始位置,直接回车即可
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +200M
Partition 1 of type Linux and of size 200 MiB is set 结束位置+200MB大小
Command (m for help): p ---确认当前分区表
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xffcdec1a
Device Boot Start End Blocks Id System
/dev/sdb1 2048 411647 204800 83 Linux
1.3、新建第2个分区/dev/sdb2
Command (m for help): n --新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p ---类型为p(主分区)
Partition number (2-4, default 2): --分区编号为2,回车即可
First sector (411648-41943039, default 411648): ---起始位置,回车即可
Using default value 411648
Last sector, +sectors or +size{K,M,G} (411648-41943039, default 41943039): +2000M
Partition 2 of type Linux and of size 2 GiB is set --结束位置+2000MB大小
1.4、新建第2个分区/dev/sdb3
Command (m for help): n --新建分区
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p --类型为p(主分区)
Partition number (3,4, default 3): ---分区编号为3,回车即可
First sector (4507648-41943039, default 4507648): ---起始位置,回车即可
Using default value 4507648
Last sector, +sectors or +size{K,M,G} (4507648-41943039, default 41943039): +1000M
Partition 3 of type Linux and of size 1000 MiB is set ---结束位置+1000MB大小
Command (m for help): p ----确认当前分区表
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xffcdec1a
Device Boot Start End Blocks Id System
/dev/sdb1 2048 411647 204800 83 Linux
/dev/sdb2 411648 4507647 2048000 83 Linux
/dev/sdb3 4507648 6555647 1024000 83 Linux
Command (m for help): w ---保存当前的配置
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
1.5、刷新分区表
root@bogon ~]# partprobe /dev/sdb
1.6、查看系统磁盘
[root@bogon ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 512M 0 part [SWAP]
└─sda3 8:3 0 19G 0 part /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 200M 0 part
├─sdb2 8:18 0 2G 0 part
└─sdb3 8:19 0 1000M 0 part
sr0 11:0 1 552M 0 rom
2. 格式化及挂载分区
2.1、将分区/dev/sdb1格式化为EXT4文件系统
[root@bogon ~]# mkfs.ext4 /dev/sdb1 ---给/dev/sdb1格式化为ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[root@bogon ~]# blkid /dev/sdb1 ----查看/dev/sdb1的文件系统
/dev/sdb1: UUID="d3a789e5-7eb4-4254-8d56-22ff8a3c561b" TYPE="ext4"
2.2、配置开机自动挂载
[root@bogon ~]# mkdir /data ---创建挂载点
[root@bogon ~]# vim /etc/fstab ---配置开机自动挂载
语法:
分区名(设备id) 挂载点 文件系统类型 挂载参数 备份设置 开机磁盘检查顺序
/dev/sdb1 /data ext4 defaults 0 0
[root@bogon ~]# mount -a ----挂载fstab中的可用设备
[root@bogon ~]# df -hT /data ---检查文档所在的文件系统及设备
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb1 ext4 190M 1.6M 175M 1% /data
新建一个逻辑卷
- 要求沿用上面的案例,使用分区 /dev/sdb2 构建 LVM 存储,相关要求如下:
- 新建一个名为 systemvg 的卷组
- 在此卷组中创建一个名为 vo 的逻辑卷,大小为500MiB
- 将逻辑卷 vo 格式化为 EXT4 文件系统
- 将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”
- LVM创建工具的基本用法:
1、vgcreate 卷组名 物理设备… …
2、lvcreate -L 大小 -n 逻辑卷名 卷组名
1. 创建卷组
1.1、新建名为systemvg的卷组
[root@bogon ~]# vgcreate systemvg /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
Volume group "systemvg" successfully created
1.2、确认结果
[root@bogon ~]# vgs ---列出所有的卷组
VG #PV #LV #SN Attr VSize VFree
systemvg 1 0 0 wz--n- <1.95g <1.95g
2. 创建逻辑卷
2.1、新建名为vo的逻辑卷
[root@bogon ~]# lvcreate -L500M -n vo systemvg
Logical volume "vo" created.
2.2、 确认结果
[root@bogon ~]# lvs ---列出所有的逻辑卷
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
vo systemvg -wi-a----- 500.00m
3.格式化及挂载使用
3.1、格式化逻辑卷/dev/systemvg/vo
[root@bogon ~]# mkfs.ext4 /dev/systemvg/vo
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=34078720
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
3.2、确认结果
[root@bogon ~]# blkid /dev/systemvg/vo --查看/dev/systemvg/vo的文件系统
/dev/systemvg/vo: UUID="4e95b20a-0f31-4455-82b6-b5105172e86f" TYPE="ext4"
3.3、挂载逻辑卷/dev/systemvg/vo
[root@bogon ~]# mkdir /vo ---创建挂载点
[root@bogon ~]# mount /dev/systemvg/vo /vo ---挂载
[root@bogon ~]# df -hT /vo ---查看/vo 的挂载信息
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 477M 2.3M 445M 1% /vo
3.4、访问逻辑卷/dev/systemvg/vo
[root@server0 ~]# echo I AM KING. > /vo/votest.txt
[root@server0 ~]# cat /vo/votest.txt
I AM KING.
扩展逻辑卷的大小
- 本例要求沿用练习一,将逻辑卷 vo 的大小调整为 2200MiB,要求如下:
- 原文件系统中的内容必须保持完整
- 必要时可使用之前准备的分区 /dev/sdb3 来补充空间
- 注意:分区大小很少能完全符合要求的大小,所以大小在2150MiB和2200MiB之间都是可以接受 的
对于已经格式化好的逻辑卷,在扩展大小以后,必须通知内核新大小。
如果此逻辑卷上的文件系统是EXT3/EXT4类型,需要使用resize2fs工具;
如果此逻辑卷上的文件系统是XFS类型,需要使用xfs_growfs。
1. 确认逻辑卷vo的信息
1.1、找出逻辑卷所在卷组
[root@bogon ~]# lvs ---列出逻辑卷的信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
vo systemvg -wi-ao---- 500.00m
1.2、查看该卷组的剩余空间是否可满足扩展需要
[root@bogon ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <1.95 GiB --卷组总大小
PE Size 4.00 MiB
Total PE 499
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 374 / 1.46 GiB ---剩余空间大小
VG UUID 532aUQ-D940-29U0-5lId-yRZc-37QG-RaNXhw
此例中卷组systemvg的总大小都不够2200MiB、剩余空间才1.46GiB,因此必须先扩展卷组。只 有剩余空间足够,才可以直接扩展逻辑卷大小。
2、扩展卷组
2.1、将提前准备的分区/dev/sdb3添加到卷组systemvg
[root@bogon ~]# vgextend systemvg /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
Volume group "systemvg" successfully extended
2.2、确认卷组新的大小
[root@bogon ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 2.92 GiB --总大小已变大为2.92GiB
PE Size 4.00 MiB
Total PE 748
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 623 / 2.43 GiB ---剩余空间已达到2.43GiB
VG UUID 532aUQ-D940-29U0-5lId-yRZc-37QG-RaNXhw
3.扩展逻辑卷大小
3.1、将逻辑卷/dev/systemvg/vo的大小调整为2200MiB
[root@bogon ~]# lvextend -L 2200MB /dev/systemvg/vo
Size of logical volume systemvg/vo changed from 500.00 MiB (125 extents) to <2.15 GiB (550 extents).
Logical volume systemvg/vo successfully resized.
3.2、确认调整结果
[root@bogon ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
vo systemvg -wi-ao---- <2.15g
4.刷新文件系统大小
4.1、确认逻辑卷vo上的文件系统类型:
[root@bogon ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="4e95b20a-0f31-4455-82b6-b5105172e86f" TYPE="ext4"
4.2、选择合适的工具刷新大小
[root@bogon ~]# resize2fs /dev/systemvg/vo
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/systemvg/vo is mounted on /vo; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 18
The filesystem on /dev/systemvg/vo is now 2252800 blocks long.
4.3、确认新大小
[root@bogon ~]# df -hT /vo
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 2.1G 2.9M 2.0G 1% /vo