一、磁盘分区
(一)概述
原始磁盘需要经过那些操作才能存取数据?
原始磁盘的形态是一个光滑的盘体;
需要将盘体划分出柱面和磁道,然后将磁道划分为多个扇区,称为“低级格式化”;
为了有效组织磁盘和提高I\\O效率,还需要进行“分区”;
此时,磁盘还不能存储数据,还需要对每一分区中的扇区进行逻辑编号,并建立数据结构和磁盘数据的管理方式,称为“高级格式化”,本质上是在分区上确定了文件系统,便可以进行数据存储了。
如果把原始磁盘比作待开发的地块
那么,
“低级格式化”相当于在该地块上修建了道路和房屋;
“分区”相当于根据地理区域划分不同的小区;
“高级格式化”相当于将小区内的房屋进行标记。
Windows操作系统,分区、格式化之后,就可以建目录存储文件了。
而Linux操作系统则与Windows相反,需要先虚拟一个根目录,再将磁盘挂载到根目录。
(二)实践
1. 查看当前分区情况:
工具fdisk:用于Linux的磁盘分区表操作
root@linux:~# fdisk -l
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
# 磁盘大小为 40G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EC404E4B-BF45-4DEE-8D63-3D59FBB9C44E
Device Start End Sectors Size Type
/dev/vda1 227328 41943006 41715679 19.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
# 磁盘分区约为20G,还有20G的空间未使用
Partition table entries are not in disk order.
2. 创建新分区
root@linux:~# fdisk /dev/vda
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p # 列出磁盘分区表
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 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
Disklabel type: gpt
Disk identifier: EC404E4B-BF45-4DEE-8D63-3D59FBB9C44E
Device Start End Sectors Size Type
/dev/vda1 227328 41943006 41715679 19.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
Partition table entries are not in disk order.
Command (m for help): n # 创建新分区
Partition number (2-13,16-128, default 2): # 默认回车
First sector (41943007-83886046, default 41943040): # 默认回车
Last sector, +sectors or +size{K,M,G,T,P} (41943040-83886046, default 83886046): +10G # 使用size方式定义10G大小
Created a new partition 2 of type 'Linux filesystem' and of size 10 GiB.
Command (m for help): p
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 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
Disklabel type: gpt
Disk identifier: EC404E4B-BF45-4DEE-8D63-3D59FBB9C44E
Device Start End Sectors Size Type
/dev/vda1 227328 41943006 41715679 19.9G Linux filesystem
/dev/vda2 41943040 62914559 20971520 10G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
Partition table entries are not in disk order.
Command (m for help): w # 保存、退出
The partition table has been altered.
Syncing disks.
3. 查看新创建分区
root@linux:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 40G 0 disk
├─vda1 252:1 0 19.9G 0 part /
├─vda2 252:2 0 10G 0 part
├─vda14 252:14 0 4M 0 part
└─vda15 252:15 0 106M 0 part /boot/efi
4. 格式化
命令mkfs(make file system):在特定的分区上建立linux文件系统。
root@linux:~# mkfs # 两次键入Tab,则可展示支持的文件类型
mkfs mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.ntfs mkfs.xfs
mkfs.bfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.vfat
root@linux:~# mkfs.ext3 /dev/vda2 # 在新分区创建ext3的文件系统
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 2621440 4k blocks and 655360 inodes
Filesystem UUID: 0e6a8449-acbf-4428-a5d7-b67b4535b844
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
5. 挂载
命令mount:用来挂载文件系统。
root@linux:~# mkdir /test2
root@linux:~# mount /dev/vda2 /test2/
root@linux:~# ls /test2/
lost+found
6. 查看分区挂载点及文件类型
root@linux:~# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 1007416 0 1007416 0% /dev
tmpfs tmpfs 204092 776 203316 1% /run
/dev/vda1 ext4 20145724 3279936 16849404 17% /
tmpfs tmpfs 1020448 0 1020448 0% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 1020448 0 1020448 0% /sys/fs/cgroup
/dev/vda15 vfat 106858 3668 103190 4% /boot/efi
tmpfs tmpfs 204088 8 204080 1% /run/user/1001
/dev/vda2 ext3 10255672 23096 9708288 1% /test2
二、逻辑卷管理
(一)概述
逻辑卷管理也就是LVM(Logical Volume Manager),位于磁盘和操作系统之间,将一个或多个磁盘分区(PV)虚拟为一个卷组(VG),并在VG上面划分一些逻辑卷(LV)。逻辑卷可再进行格式化、挂载,并且逻辑卷可以动态伸缩。
也就是从物理磁盘或分区开始,经过PV--VG--LV(形成逻辑卷)之后,将逻辑卷看成新的磁盘进行分区、格式化并挂载,供主机使用。
(二)实践
使用lsblk命令查看系统的磁盘使用情况(lsblk--list block);
使用fdisk命令进行分区;
使用pvcreate创建物理卷,
使用vgcreate创建卷组;
使用lvcreate创建逻辑卷。
1. 创建新分区vda3
root@linux:~# fdisk /dev/vda
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
Partition number (3-13,16-128, default 3):
First sector (62914560-83886046, default 62914560):
Last sector, +sectors or +size{K,M,G,T,P} (62914560-83886046, default 83886046): +8G
Created a new partition 3 of type 'Linux filesystem' and of size 8 GiB.
Command (m for help): p
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 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
Disklabel type: gpt
Disk identifier: EC404E4B-BF45-4DEE-8D63-3D59FBB9C44E
Device Start End Sectors Size Type
/dev/vda1 227328 41943006 41715679 19.9G Linux filesystem
/dev/vda2 41943040 62914559 20971520 10G Linux filesystem
/dev/vda3 62914560 79691775 16777216 8G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
Partition table entries are not in disk order.
Command (m for help): w
The partition table has been altered.
Syncing disks.
2. 创建物理卷
命令pvcreate:用于将物理硬盘分区初始化为物理卷。
root@linux:~# pvcreate /dev/vda3
Physical volume "/dev/vda3" successfully created.
root@linux:~# pvdisplay /dev/vda3
"/dev/vda3" is a new physical volume of "8.00 GiB"
--- NEW Physical volume ---
PV Name /dev/vda3
VG Name
PV Size 8.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID ke8k0X-RgZL-Fejo-1AVO-fPPO-hhEP-WVb79K
3. 创建卷组
命令vgcreate:用于创建LVM卷组(Volume Group),将多个物理卷组织成一个整体,屏蔽底层物理卷细节。
root@linux:~# vgcreate vgtest /dev/vda3
Volume group "vgtest" successfully created
root@linux:~# vgdisplay vg0
Volume group "vg0" not found
Cannot process volume group vg0
root@linux:~# vgdisplay vgtest
--- Volume group ---
VG Name vgtest
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <8.00 GiB
PE Size 4.00 MiB
Total PE 2047
Alloc PE / Size 0 / 0
Free PE / Size 2047 / <8.00 GiB
VG UUID 2TM5qM-9fUR-xTTU-55Nq-nYZE-ATYg-SjQQ6y
4. 创建逻辑卷
命令lvcreate:创建LVM的逻辑卷。
root@linux:~# lvcreate -L 200M -n lv0 vgtest
Logical volume "lv0" created.
5. 管理逻辑卷
# 查看物理卷信息
root@linux:~# pvs
PV VG Fmt Attr PSize PFree
/dev/vda3 vgtest lvm2 a-- <8.00g 7.80g
# 查看卷组信息
root@linux:~# vgs
VG #PV #LV #SN Attr VSize VFree
vgtest 1 1 0 wz--n- <8.00g 7.80g
# 增加逻辑卷空间
root@linux:~# lvextend -L +100M /dev/vgtest/lv0
Size of logical volume vgtest/lv0 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents).
Logical volume vgtest/lv0 successfully resized.
# 查询逻辑卷大小
root@linux:~# lvs /dev/vgtest/lv0
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vgtest -wi-a----- 300.00m
root@linux:~#
全部0条评论
快来发表一下你的评论吧 !