1、磁盘设备的命名
/dev/sda2
s=硬件接口类型(sata、scsi),d=disk(硬盘),a=第1块硬盘,2=第几个分区
2、磁盘分区思路
- 进入分区表 新建分区 fdisk
- 更新分区表《刷新分区表》
- 格式化分区——文件系统
- 挂载使用>>mount【开机自动挂载|autofs自动挂载】
2.1.fdisk分区
2.1.1、使用fdisk分区
2.2.使用命令 lsblk 可以查看磁盘的大小和挂载情况
2.3也可以使用命令 lsblk -f 查看磁盘的格式
2.4两个命令可以配搭看
3.磁盘分区
3.1 新建分区
1.在/root目录下创建RepositoryDisk文件夹来挂载新磁盘,该目录和文件夹可以任意,按照自己的需求来,可以挂载到任意目录下
2.新加的磁盘是在/dev/新磁盘名,可以在/dev/目录下看到新磁盘
3.使用命令 fdisk /dev/磁盘名称 进行分区,如 fdisk /dev/sdb
4.执行上述命令之后,提示输入m获取帮助,输入m回车【如果不想查看帮助,这一步可以忽略】
5.新加分区,总共有5步,下面介绍每一步,每一步以回车结束
输入n添加新分区
输入p新建主分区
指定分区编号,输入1即可
指定起始扇区,默认即可,不推荐更改
指定结束扇区,代表分区大小,可以使用K,M,G指定分区大小,例如分配50G则输入50G即可
6.执行上述操作之后,需要输入 w 确定分区,不然不会生效
7.如果是删除分区,则fdisk /dev/sdb执行之后,输入d表示删除分区,然后输入w确认更改
8.通过lsblk和lsblk -f可以看到新建的分区已经生效,但是并没有格式化和挂载,此时还是不可以使用
3.2.刷新分区表
- partprobe /dev/sdb
3.2 注意:
4 格式分区
4.1.命令:mkfs -t 分区系统格式 磁盘分区
·mkfs -t xfs /dev/sdb1(sdb1是sdb磁盘分区后得到的)
4.2.再次使用 lsblk -f 可以看到格式分区成功,但是还没有挂载点
5 挂载分区
5.1临时挂载
- 此种方式挂载只是暂时挂载,系统重启之后需要重新挂载才行
- 现在把sdb1挂载到之前创建的/root/RepositoryDisk目录下
- 挂载分区使用 mount 命令:mount 分区 挂载目录,挂载之后可以通过lsblk -f查看是否挂载成功
- mount /dev/sdb1 /root/RepositoryDisk
- lsblk -f
- 通过 df -h 命令查看是否真的成功,可以看到系统已经能正确加载新磁盘
mount 参数
vfat dosfslabel
5.2 永久挂载新分区
- 上述步骤的挂载只是暂时挂载,系统重启之后需要重新挂载才行
- 如果每次使用都需要重新挂载则会很麻烦,所以我们可以永久挂载分区,开机自动挂载
- 永久生效需要将磁盘信息写入到 /etc/fstab 中,这样开机才能自动加载
5.2.1.写入新建的磁盘信息,需要我们配置5个信息,分别代表如下信息
- 第一个需要挂载的分区,如/dev/sdb1
- 第二个分区挂载点,如挂载到/root/RepositoryDisk下
- 第三个分区格式,和自己格式化分区时指定格式一致
- 第四个直接defaults即可,和系统保持一致
- 第五个和系统保持一致,输入0即可
- 第六个和系统保持一致,输入0即可
6.输入完成后保存退出,然后重启虚拟机,查看是否自动加载,重启之后可以看到成功自动加载
7.取消挂载分区
如果此时不想挂载此分区,那么可以使用命令:umount 分区 或者 umount 挂载目录,以下两种方式均可
umount /dev/sdb1
umount /root/RepositoryDisk
注意使用umount命令取消挂载分区的时候不要在分区挂载目录内使用或者磁盘没有被使用,否则将会出现:device is busy 提示
取消挂载分区之后可以挂载到另外的分区,可以挂载到需要任意目录下,但是建议不要挂载系统目录中
注意:请不要直接将硬盘挂载到/home、/root等系统原有目录下,很容导致问题
8.逻辑卷介绍(LVM)
逻辑卷:
逻辑卷(LVM)︰它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。
特点:
1、动态在线扩容
2、离线裁剪
3、数据条带化
4、数据镜像
8.1逻辑卷概念
- 物理卷(Physical Volume,PV)
物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。 - 卷组(volume Group, vG)
卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。一个LVM系统中可以只有一个卷组,也可以包含多个卷组。 - 逻辑卷(Logical Volume, LV)
逻辑卷建立在卷组之上,它是从卷组中"切出"的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。 - 物理区域PE (physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4MB。PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小是一致的。4MB=4096kb=4096kb/4kb=1024个block - 逻辑区域LE (logical extent)
逻辑卷也被划分为被称为LE(Logical Extents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一—对应。
流程:
真实的物理设备—>物理卷(pv)---->卷组(vg)---->逻辑卷(lv)—…>逻辑卷格式化---->挂载使用
思路:
1.物理的设备
2.将物理设备做成物理卷
3.创建卷组并将物理卷加入其中
4.创建逻辑卷
5.格式化逻辑卷
6.挂载使用
8.2创建物理卷
#将sdb1分区创建为物理卷
[root@localhost ~]# pvcreate /dev/sdb1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
#用pvs、pvscan、pvdisplay 【卷名】查看物理卷是否创建成功
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <59.00g 4.00m
/dev/sdb1 lvm2 --- 5.00g 5.00g
[root@localhost ~]# pvscan
PV /dev/sda2 VG centos lvm2 [<59.00 GiB / 4.00 MiB free]
PV /dev/sdb1 lvm2 [5.00 GiB]
Total: 2 [<64.00 GiB] / in use: 1 [<59.00 GiB] / in no VG: 1 [5.00 GiB]
[root@localhost ~]# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID eygSMu-klBh-5wxx-B5iP-N3Cz-iKdZ-BON6Ay
8.3创建卷组
vgcreate 【卷组名】 【加入的物理卷】
[root@localhost ~]# vgcreate vg1 /dev/sdb1
Volume group "vg1" successfully created
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "vg1" using metadata type lvm2
Found volume group "centos" using metadata type lvm2
[root@localhost ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
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 <5.00 GiB
PE Size 4.00 MiB
Total PE 1279
Alloc PE / Size 0 / 0
Free PE / Size 1279 / <5.00 GiB
VG UUID Jkx4xZ-ICO9-2zSa-odTz-MaBH-AH5k-9hqQXF
8.4创建逻辑卷
从卷组中划分空间创建逻辑卷
lvcreate -n 【逻辑卷名称】 -L 【逻辑卷大小】 【所属卷组名称】
lvcreate -n 【逻辑卷名称】 -l【指定pe个数】 【所属卷组名称】
lvcreate -n lv3 -l 50%free vg1 :在vg1里面创建一个大小为剩余空间的50%的逻辑卷lv3
[root@localhost ~]# lvcreate -n lv2 -L 2.5G vg1
Logical volume "lv2" created.
[root@localhost ~]# ll /dev/mapper/vg1-lv1
lrwxrwxrwx. 1 root root 7 12月 15 12:10 /dev/mapper/vg1-lv1 -> ../dm-3
[root@localhost ~]# ll /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 12月 15 12:10 /dev/vg1/lv1 -> ../dm-3
[root@localhost ~]# lvcreate -n lv3 -l 50%free vg1
Logical volume "lv3" created.
#查看逻辑卷信息
[root@localhost ~]# lvdisplay /dev/vg1/lv2
--- Logical volume ---
LV Path /dev/vg1/lv2
LV Name lv2
VG Name vg1
LV UUID 2Ar2ew-zHiI-UZjt-pHfc-ownY-i89a-mhoSjD
LV Write Access read/write
LV Creation host, time localhost, 2021-12-15 12:10:57 +0800
LV Status available
# open 0
LV Size 2.50 GiB
Current LE 640
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:4
8.5创建文件系统
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv2
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
163840 inodes, 655360 blocks
32768 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=671088640
20 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
8.6挂载逻辑卷
[root@localhost ~]# mkdir /lv1
[root@localhost ~]# mount /dev/vg1/lv2 /lv1
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 833M 0 833M 0% /dev
tmpfs 852M 0 852M 0% /dev/shm
tmpfs 852M 9.3M 843M 2% /run
tmpfs 852M 0 852M 0% /sys/fs/cgroup
/dev/mapper/centos-root 38G 26G 12G 69% /
/dev/mapper/centos-home 19G 9.4G 8.8G 52% /home
/dev/sda1 1014M 241M 774M 24% /boot
tmpfs 171M 0 171M 0% /run/user/0
/dev/mapper/vg1-lv2 2.4G 7.5M 2.3G 1% /lv1
8.7逻辑卷动态扩容
需求︰将lv2目录动态扩容到3G
思路:
1.查看/lv1目录所对应的逻辑卷是哪一个/dev/mapper/vg1-1v2
2.查看当前逻辑卷所在的卷组vg1剩余空间是否足够
3.如果vg1空间不够,得先扩容卷组,再扩容逻辑卷
4.如果vg1空间足够,直接扩容逻辑卷
#查看到lv1目录对应的是lv2逻辑卷
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 833M 0 833M 0% /dev
tmpfs 852M 0 852M 0% /dev/shm
tmpfs 852M 9.3M 843M 2% /run
tmpfs 852M 0 852M 0% /sys/fs/cgroup
/dev/mapper/centos-root 38G 26G 12G 69% /
/dev/mapper/centos-home 19G 9.4G 8.8G 52% /home
/dev/sda1 1014M 241M 774M 24% /boot
tmpfs 171M 0 171M 0% /run/user/0
/dev/mapper/vg1-lv2 2.4G 7.5M 2.3G 1% /lv1
#查看到lv2逻辑卷的大小2.5G
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- 18.08g
root centos -wi-ao---- <37.04g
swap centos -wi-ao---- <3.88g
lv1 vg1 -wi-a----- 4.00m
lv2 vg1 -wi-ao---- 2.50g
lv3 vg1 -wi-a----- <1.25g
#查看到卷组的剩余空间只有1.25G
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <59.00g 4.00m
vg1 1 3 0 wz--n- <5.00g <1.25g
#sdb磁盘下已经没有多余的分区了,需要创建分区
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc9f4fea2
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
#创建分区步骤省略,再次查看sdb磁盘分区
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc9f4fea2
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 20971519 5241856 83 Linux
#刷新磁盘
[root@localhost ~]# partprobe /dev/sdb
#将sdb2分区创建为物理卷
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
#将sdb2物理卷添加到vg1卷组里面去 使用**vgextend**
[root@localhost ~]# vgextend vg1 /dev/sdb2
Volume group "vg1" successfully extended
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <59.00g 4.00m
/dev/sdb1 vg1 lvm2 a-- <5.00g <1.25g
/dev/sdb2 vg1 lvm2 a-- <5.00g <5.00g
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <59.00g 4.00m
vg1 2 3 0 wz--n- 9.99g 6.24g
#用**lvextend**,将lv2逻辑卷增加到5G
[root@localhost ~]# lvextend -L 5G /dev/vg1/lv2
Size of logical volume vg1/lv1 changed from 4.00 MiB (1 extents) to 5.00 GiB (1280 extents).
Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- 18.08g
root centos -wi-ao---- <37.04g
swap centos -wi-ao---- <3.88g
lv2 vg1 -wi-ao---- 3g
lv3 vg1 -wi-a----- <1.25g
#同步文件系统,如果磁盘系统类型采用的是ext*,则使用resize2fs; 如果磁盘系统类型采用的是xfs,则使用xfs_growfs
[root@localhost ~]# resize2fs /dev/vg1/lv2
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv2 is mounted on /lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv2 is now 786432 blocks long.
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 833M 0 833M 0% /dev
tmpfs 852M 0 852M 0% /dev/shm
tmpfs 852M 9.3M 843M 2% /run
tmpfs 852M 0 852M 0% /sys/fs/cgroup
/dev/mapper/centos-root 38G 26G 12G 69% /
/dev/mapper/centos-home 19G 9.4G 8.8G 52% /home
/dev/sda1 1014M 241M 774M 24% /boot
tmpfs 171M 0 171M 0% /run/user/0
/dev/mapper/vg1-lv2 2.9G 7.5M 2.8G 1% /lv1
8.8离线裁剪逻辑卷
8.8.1ext*格式的裁剪
将lv2裁剪缩小为2G
#卸载lv1目录的挂载
[root@localhost ~]# umount /lv1
[root@localhost ~]# e2fsck -f /dev/vg1/lv2
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv2: 11/196608 files (0.0% non-contiguous), 30652/786432 blocks
#将lv2文件系统设置为2G
[root@localhost ~]# resize2fs /dev/vg1/lv2 2G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv2 to 524288 (4k) blocks.
The filesystem on /dev/vg1/lv2 is now 524288 blocks long.
#用**lvreduce**,将lv2缩小为2G
[root@localhost ~]# lvreduce /dev/vg1/lv2 -L 2G
WARNING: Reducing active logical volume to 2.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv2? [y/n]: y
Size of logical volume vg1/lv2 changed from 3.00 GiB (768 extents) to 2.00 GiB (512 extents).
Logical volume vg1/lv2 successfully resized.
#重新挂载
[root@localhost ~]# mount /dev/vg1/lv2 /lv1
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 833M 0 833M 0% /dev
tmpfs 852M 0 852M 0% /dev/shm
tmpfs 852M 9.3M 843M 2% /run
tmpfs 852M 0 852M 0% /sys/fs/cgroup
/dev/mapper/centos-root 38G 26G 12G 69% /
/dev/mapper/centos-home 19G 9.4G 8.8G 52% /home
/dev/sda1 1014M 241M 774M 24% /boot
tmpfs 171M 0 171M 0% /run/user/0
/dev/mapper/vg1-lv2 2.0G 7.5M 1.8G 1% /lv1
8.8.2xfs格式的裁剪
#新建挂载点
[root@localhost ~]# mkdir /lv2
#将lv1逻辑卷格式化为xfs
[root@localhost ~]# mkfs.xfs /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#将lv2目录挂载到lv1逻辑卷上
[root@localhost ~]# mount /dev/vg1/lv1 /lv2
[root@localhost ~]# vim /lv2/123.txt
#将lv2里面的文件强制备份到/root下
[root@localhost ~]# xfsdump -f /lv2/123.txt /root
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
============================= dump label dialog ==============================
please enter label for media in drive 0 (timeout in 300 sec)
-> lv1
media label entered: "lv1"
--------------------------------- end dialog ---------------------------------
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 21016 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 50 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /root/123.txt OK (success)
xfsdump: Dump Status: SUCCESS
#卸载挂载
[root@localhost ~]# umount /lv2
#将lv1缩小到1G
[root@localhost ~]# lvreduce /dev/vg1/lv1 -L 1G
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: Y
Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 1.00 GiB (256 extents).
Logical volume vg1/lv1 successfully resized.
#将lv1逻辑卷格式化为xfs
[root@localhost ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none
extsz=4096 blocks=0, rtextents=0
#重新挂载
[root@localhost ~]# mount /dev/vg1/lv1 /lv2
#将root下的123文件恢复到lv2下
[root@localhost ~]# xfsrestore -f /root/123.txt /lv2
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: localhost
xfsrestore: mount point: /lv2
xfsrestore: volume: /dev/mapper/vg1-lv1
xfsrestore: session time: Wed Dec 15 13:28:23 2021
xfsrestore: level: 0
xfsrestore: session label: "lv2"
xfsrestore: media label: "lv1"
xfsrestore: file system id: 5227a0b1-064a-4a03-be5b-bbbcc960b6ee
xfsrestore: session id: b1f51ae8-46bb-44a2-95a7-e7a4d5d4cc3f
xfsrestore: media id: 0f3d605d-8f73-4f5e-ac35-98e6a1fde1c1
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 1 directories and 0 entries processed
xfsrestore: directory post-processing
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /root/123.txt OK (success)
xfsrestore: Restore Status: SUCCESS
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 833M 0 833M 0% /dev
tmpfs 852M 0 852M 0% /dev/shm
tmpfs 852M 9.3M 843M 2% /run
tmpfs 852M 0 852M 0% /sys/fs/cgroup
/dev/mapper/centos-root 38G 26G 12G 69% /
/dev/mapper/centos-home 19G 9.4G 8.8G 52% /home
/dev/sda1 1014M 241M 774M 24% /boot
tmpfs 171M 0 171M 0% /run/user/0
/dev/mapper/vg1-lv2 2.0G 7.6M 1.8G 1% /lv1
/dev/mapper/vg1-lv1 1014M 33M 982M 4% /lv2
8.9删除LVM
建立:分区–PV–VG–LV–挂载–fstab(autofs)–写入数据
删除:备份重要数据–fstab(autofs)–卸载–LV–VG–PV–分区
1备份数据(如果有需要)
2编辑fstab文件或者autofs服务相关文件,删除相关设置
3卸载
[root@localhost ~]#umount /1v1
4删除逻辑卷
[root@localhost ~]#1vremove / dev/vg1/1v1
5删除卷组
[root@localhost ~]#vgchange -an vg1
[root@locaThost ~]#vgremove vg1
6删除物理卷
[root@localhost ~]#pvremove / dev /sdxx
7删除分区
[root@localhost ~]#fdisk /dev/sdxx
#卸载挂载
[root@localhost ~]# umount /lv1 /lv2
#删除逻辑卷
[root@localhost ~]# lvremove /dev/vg1/lv*
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
Logical volume "lv1" successfully removed
Do you really want to remove active logical volume vg1/lv2? [y/n]: y
Logical volume "lv2" successfully removed
Do you really want to remove active logical volume vg1/lv3? [y/n]: y
Logical volume "lv3" successfully removed
#停用卷组
[root@localhost ~]# vgchange -an vg1
0 logical volume(s) in volume group "vg1" now active
#删除卷组
[root@localhost ~]# vgremove vg1
Volume group "vg1" successfully removed
#删除物理卷
[root@localhost ~]# pvremove /dev/sdb1 /dev/sdb2
Labels on physical volume "/dev/sdb1" successfully wiped.
Labels on physical volume "/dev/sdb2" successfully wiped.
#删除分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):1
分区 1 已删除
命令(输入 m 获取帮助):d
已选择分区 2
分区 2 已删除
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
#加载磁盘
[root@localhost ~]# partprobe /dev/sdb
9、swap扩容
swap的作用: swap分区在系统的运行内存不够用的时候,把运行内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap分区中,等到那些程序要运行时,再从Swap分,区中恢复保存的数据到内存中。可以缓解物理内存不足的压力,如果物理内存不足,还没有swap空间,会宕机
9.1∶增加一个设备(硬盘,分区,逻辑卷)来扩容swap空间
#查看当前swap空间
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 339 882 9 481 1326
Swap: 3967 0 3967
#查看当前磁盘分区情况
[root@localhost ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 10G 0 disk
├─sdb2 8:18 0 2G 0 part
├─sdb3 8:19 0 6G 0 part
└─sdb1 8:17 0 2G 0 part
#将sdb1分区制作为swap分区
[root@localhost ~]# mkswap /dev/sdb1
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=645b5e0a-6c04-470e-82f0-9cecc2ad9e12
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="645b5e0a-6c04-470e-82f0-9cecc2ad9e12" TYPE="swap"
#启用sdb1的swap
[root@localhost ~]# swapon /dev/sdb1
[root@localhost ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4063228 0 -2
/dev/sdb1 partition 2097148 0 -3
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 340 880 9 481 1324
Swap: 6015 0 6015
9.2用lvm创建swap
#创建一个有sdb2和sdb3组成的vg1卷组
[root@localhost ~]# vgcreate vg1 /dev/sdb[23]
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
Volume group "vg1" successfully created
#创建一个名为lv_swap的逻辑卷
[root@localhost ~]# lvcreate -n lv_swap -L 2G vg1
Logical volume "lv_swap" created.
#将lv_swap的逻辑卷制作成swap空间
[root@localhost ~]# mkswap /dev/vg1/lv_swap
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=71e4cd2f-4f1b-4bdf-9945-12c79b3ae090
#启用lv_swap的swap功能
[root@localhost ~]# swapon /dev/vg1/lv_swap
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 342 878 9 481 1323
Swap: 8063 0 8063
[root@localhost ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4063228 0 -2
/dev/sdb1 partition 2097148 0 -3
/dev/dm-3 partition 2097148 0 -4
9.3扩展用lvm创建的swap
#将lv_swap逻辑卷扩展到4G
[root@localhost ~]# lvextend -L 4G /dev/vg1/lv_swap
Size of logical volume vg1/lv_swap changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
Logical volume vg1/lv_swap successfully resized.
#停止lv_swap的swap
[root@localhost ~]# swapoff /dev/vg1/lv_swap
#重新制作lv_swap的swap
[root@localhost ~]# mkswap /dev/vg1/lv_swap
mkswap: /dev/vg1/lv_swap: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 4194300 KiB
无标签,UUID=a0006fa6-bdc3-4e98-9b1f-add342b29cbe
#启动lv_swap的swap
[root@localhost ~]# swapon /dev/vg1/lv_swap
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 343 877 9 481 1321
Swap: 10111 0 10111
9.4以创建大文件的方式创建的swap
#用/dev/zero生ch
[root@localhost ~]# dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048
记录了2048+0 的读入
记录了2048+0 的写出
2147483648字节(2.1 GB)已复制,37.1198 秒,57.9 MB/秒
#将/tmp/swapfile创建为swap空间
[root@localhost ~]# mkswap /tmp/swapfile
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=1703e6e4-e3e3-4f79-abba-3b2c670ddd11
#设置/tmp/swapfile文件权限
[root@localhost ~]# chmod 600 /tmp/swapfile
#启用/tmp/swapfile的swap,-1表示优先级
[root@localhost ~]# swapon -p1 /tmp/swapfile
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 264 19 9 1419 1401
Swap: 12159 0 12159
[root@localhost ~]# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.9G 0B -2
/dev/sdb1 partition 2G 0B -3
/dev/dm-3 partition 4G 0B -4
/tmp/swapfile file 2G 0B 1
9.5swap开机启用
修改/etc/fstab文件,将创建的swap添加到文件里面
vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Aug 4 06:13:51 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=4ec90814-e68b-4c1d-8c11-a1d27da52589 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/vg1/lv_swap swap swap defaults 0 0
/dev/sdb1 swap swap defaults 0 0
/tmp/swapfile swap swap defaults 0 0
9.6停用swap
#停用sdb1swap
[root@localhost ~]# swapoff /dev/sdb1
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 263 24 9 1414 1401
Swap: 10111 0 10111
#关闭所有swap
[root@localhost ~]# swapoff -a
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 256 31 9 1414 1409
Swap: 0 0 0
#开启所有swap
[root@localhost ~]# swapon -a
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1702 265 22 9 1414 1399
Swap: 12159 0 12159
10、RAID
10.1、RAID介绍
RAID(Redundant Array of lndependent Disk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能,能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
10.2、常见的RAID级别
10.2.1、RAID0
RAID0特点∶
- 至少需要两块磁盘
- 数据条带化分布到磁盘,高的读写性能,100%高存储空间利用率
- 数据没有冗余策略,一块磁盘故障,数据将无法恢复
应用场景:
对性能要求高但对数据安全性和可靠性要求不高的场景,比如音频、视频等的存储。
10.2.2、RAID1
RAID1特点:
- 至少需要2块磁盘
- 数据镜像备份写到磁盘上(工作盘和镜像盘),可靠性高,磁盘利用率为50%
- 读性能可以,但写性能不佳
- ·一块磁盘故障,不会影响数据的读写
应用场景:
对数据安全可靠要求较高的场景,比如邮件系统、交易系统等。
10.2.3、RAID5
RAID5特点:
- 至少需要3块磁盘
- 数据条带化存储在磁盘,读写性能好,磁盘利用率为(n-1)/n-
- 以奇偶校验(分散)做数据冗余
- 一块磁盘故障,可根据其他数据块和对应的校验数据重构损坏数据(消耗性能)
- 是目前综合性能最佳的数据保护解决方案
- 兼顾了存储性能、数据安全和存储成本等各方面因素(性价比高)
- 适用于大部分的应用场景
10.2.4、RAID6
RAID6特点:
- 至少需要4块磁盘
- 数据条带化存储在磁盘,读取性能好,容错能力强
- 采用双重校验方式保证数据的安全性
- 如果2块磁盘同时故障,可以通过两个校验数据来重建两个磁盘的数据
- 成本要比其他等级高,并且更复杂
- 一般用于对数据安全性要求非常高的场合
10.2.5、RAID10
RAID10特点:
- RAID10是raid1+raid0的组合
- 至少需要4块磁盘
- 两块硬盘为一组先做raid1,再将做好raid1的两组做raido
- 兼顾数据的冗余(raid1镜像)和读写性能(raid0数据条带化)
- 磁盘利用率为50%,成本较高
10.2.6、总结
10.3、软硬RAID
10.3.1、软RAID
软RAID运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。
软RAID有以下特点:
- 节省成本,系统支持就可以使用相应功能
- 占用内存空间
- 占用CPU资源
- 如果程序或者操作系统故障就无法运行
10.3.2、硬RAID
通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。RAID卡就是用来实现RAID功能的板卡。硬RAID的特点︰
- 硬RAID有独立的运算单元,性能好
- 可能需要单独购买额外的硬件
- 不同RAID卡支持的功能不同,需要根据自己的需求选择
10.4、软RAID创建
1、环境准备
添加一个10G的虚拟硬盘,分成10
#确定系统中是否安装了mdadm
[root@localhost ~]# which mdadm
/usr/sbin/mdadm
#创建一个名为md0的raid0 -l表示级别 -n表示有几个
[root@localhost ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdc2
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc2[1] sdc1[0]
2093056 blocks super 1.2 512k chunks
unused devices: <none>