点关注不迷路
目录
1磁盘分区管理
一、硬盘基础知识
1、硬盘的表示方法
2、查看块设备
3、硬盘分区的表示方法
4、创建文件系统/格式化
5、操作磁盘的流程
二、管理磁盘分区工具 fdisk
1、使用格式
2、查看磁盘分区
三、磁盘分区案例
1、规划
2、创建分区
3、让内核识别硬盘上的分区变化
4、创建文件系统/格式化
5、挂载使用
四、设置开机自动挂载 etc/fstab
1、文件格式
2、实现开机自动挂载
五、查看磁盘容量使用情况
六、inode —— i节点
2、inode
2GPT磁盘管理
一、文件系统结构介绍
1、dd工具
二、GPT格式磁盘分区
1、分区表的类型
2、parted工具的使用
3RAID 磁盘阵列
一、RAID介绍
1、RAID 0 条带卷
2、RAID 1 镜像卷
3、RAID 5 奇偶校验卷
4、RAID 6
5、RAID 10
三、RAID实现方式
四、模拟RAID 5的操作
1、创建RAID 5
3、热备盘 Hot Spare
4LVM逻辑卷管理
一、逻辑卷简介
二、逻辑卷相关管理命令
1、PV相关命令
2)创建PV
2、VG相关命令
3、逻辑卷LV相关命令
三、案例——创建逻辑卷
1、创建PV
2、创建VG
3、创建LV
4、创建文件系统,挂载使用
四、逻辑卷扩容
1、扩容流程
2、扩展/dev/db/mysql的容量到35G
3、将/dev/db/mysql扩容到45GB
4、将/dev/db/redis扩容到1000M
五、逻辑卷缩容
1、注意事项
2、将逻辑卷/dev/db/mysql缩减到10G
五、删除逻辑卷
1、删除逻辑卷
2、删除卷组
3、删除物理卷
5链接文件
一、类型
2、软连接/符号链接【常用】
3、硬链接、软连接的区别
1磁盘分区管理
一、硬盘基础知识
- 数据持久化存储
1、硬盘的表示方法
- /dev/sda
- sd:SATA,SAS接口
- SATA:6G/s
- SAS:6G/s
- a 第1块硬盘
- sd:SATA,SAS接口
[root@localhost ~]# ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 7月 14 08:41 /dev/sda
- b block 块设备文件
硬盘存储数据的基础结构:
- 数据块 block
- 随机
- 每个数据块只能存一个文件的数据
[root@localhost ~]# du -h /opt/file01
4.0K /opt/file01
2、查看块设备
命令:lsblk
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 800M 0 part /boot
└─sda2 8:2 0 19.2G 0 part
├─centos-root 253:0 0 17.2G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sr0 11:0 1 9.5G 0 rom /run/media/root/CentOS 7 x86_6
3、硬盘分区的表示方法
1)分区类型
- 主分区
- 扩展分区
- 主分区 + 扩展分区 <= 4
- 扩展分区最多只能有一个
- 逻辑分区
2)分区的表示方法
- 1---4
- 表示主分区、扩展分区
- 5以后
- 表示逻辑分区
4、创建文件系统/格式化
- windows
- NTFS,FAT32
- Linux
- ext4,xfs
查看分区的文件系统
[root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="2aa0a971-7181-4084-8f15-9cb3e1e753cf" TYPE="xfs"
5、操作磁盘的流程
- 准备磁盘
- 规划创建分区
- 创建文件系统/格式化
- 挂载
- 将硬盘/分区和某个目录关联在一起
二、管理磁盘分区工具 fdisk
1、使用格式
命令:fdisk 硬盘名称
- n 新建分区
- d 删除分区
- p 查看分区
- w 保存退出
- q 强制退出
2、查看磁盘分区
[root@localhost ~]# fdisk -l /dev/sda
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000dfd05
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1640447 819200 83 Linux
/dev/sda2 1640448 41943039 20151296 8e Linux LVM
三、磁盘分区案例
1、规划
主分区 500M ext4 /web/httpd
逻辑分区 500M ext4 /web/nginx
逻辑分区 500M xfs /web/tomcat
2、创建分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x56994c62 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+500M
分区 1 已设置为 Linux 类型,大小设为 500 MiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):2
起始 扇区 (1026048-10485759,默认为 1026048):
将使用默认值 1026048
Last 扇区, +扇区 or +size{K,M,G} (1026048-10485759,默认为 10485759):
将使用默认值 10485759
分区 2 已设置为 Extended 类型,大小设为 4.5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (1028096-10485759,默认为 1028096):
将使用默认值 1028096
Last 扇区, +扇区 or +size{K,M,G} (1028096-10485759,默认为 10485759):+500M
分区 5 已设置为 Linux 类型,大小设为 500 MiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (2054144-10485759,默认为 2054144):
将使用默认值 2054144
Last 扇区, +扇区 or +size{K,M,G} (2054144-10485759,默认为 10485759):+500M
分区 6 已设置为 Linux 类型,大小设为 500 MiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x56994c62
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 1026047 512000 83 Linux
/dev/sdb2 1026048 10485759 4729856 5 Extended
/dev/sdb5 1028096 2052095 512000 83 Linux
/dev/sdb6 2054144 3078143 512000 83 Linux
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
3、让内核识别硬盘上的分区变化
命令:partprobe /dev/sdb
[root@localhost ~]# lsblk | grep "sdb"
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 500M 0 part
├─sdb2 8:18 0 1K 0 part
├─sdb5 8:21 0 500M 0 part
└─sdb6 8:22 0 500M 0 part
4、创建文件系统/格式化
命令:mkfs -t 文件系统 设备名称
或
命令:mkfs.文件系统 设备名称
[root@localhost ~]# mkfs -t ext4 /dev/sdb6
[root@localhost ~]# mkfs -t ext4 /dev/sdb5
[root@localhost ~]# mkfs -t xfs /dev/sdb6
5、挂载使用
命令:mount 设备文件 挂载点目录
[root@localhost ~]# mount /dev/sdb1 /web/httpd
[root@localhost ~]# mount /dev/sdb5 /web/nginx
[root@localhost ~]# mount /dev/sdb6 /web/tomcat
查看挂载
命令:mount | grep -i "磁盘名"
[root@localhost ~]# mount | grep -i "sdb"
/dev/sdb1 on /web/httpd type ext4 (rw,relatime,seclabel,data=ordered)
/dev/sdb5 on /web/nginx type ext4 (rw,relatime,seclabel,data=ordered)
/dev/sdb6 on /web/tomcat type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
使用磁盘存储数据
[root@localhost ~]# touch /web/httpd/{1..10}.html
[root@localhost ~]# ls /web/httpd/
10.html 1.html 2.html 3.html 4.html 5.html 6.html 7.html 8.html 9.html lost+found
卸载磁盘
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# mount | grep "httpd"
四、设置开机自动挂载 etc/fstab
1、文件格式
设备文件/UUID 挂载点目录 文件系统 挂载参数(defaults) 0 0
第1个数字: 系统是否自动备份 0 1
第2个数字: 系统启动时是否检测磁盘 0 1 2
2、实现开机自动挂载
[root@localhost ~]# vim /etc/fstab
/dev/sdb1 /web/httpd ext4 defaults 0 0
/dev/sdb5 /web/nginx ext4 defaults 0 0
UUID=7d9f65e6-deca-4ae0-81ee-d804bd848cca /web/tomcat xfs defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# lsblk | grep -i "sdb"
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 500M 0 part /web/httpd
├─sdb2 8:18 0 1K 0 part
├─sdb5 8:21 0 500M 0 part /web/nginx
└─sdb6 8:22 0 500M 0 part /web/tomcat
五、查看磁盘容量使用情况
命令:df - hT
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 8.4M 478M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 6.3G 11G 37% /
/dev/sdb6 xfs 497M 26M 472M 6% /web/tomcat
/dev/sdb5 ext4 477M 2.3M 445M 1% /web/nginx
/dev/sdb1 ext4 477M 2.3M 445M 1% /web/httpd
/dev/sda1 xfs 797M 172M 626M 22% /boot
tmpfs tmpfs 98M 12K 98M 1% /run/user/42
tmpfs tmpfs 98M 0 98M 0% /run/user/0
六、inode —— i节点
- 容量
- inode :文件数量
1)查看磁盘容量
[root@localhost ~]# df -hT /dev/sdb1
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdb1 ext4 477M 2.3M 445M 1% /web/httpd
2)查看磁盘inode
[root@localhost ~]# df -i /dev/sdb1
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 128016 21 127995 1% /web/httpd
- 建文件的脚本
[root@localhost ~]# for i in $(seq 127995)
> do
> touch /web/httpd/b$i
> done
2、inode
- 存储文件的元数据metadata信息
- 文件的存储
- 真实的数据
- 数据块
- 元数据信息
- inode
- 真实的数据
- 文件的存储
- 查看文件的元数据
[root@localhost ~]# stat /etc/fstab
文件:"/etc/fstab"
大小:615 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:18354730 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:etc_t:s0
最近访问:2022-07-14 15:14:58.014971698 +0800
最近更改:2022-07-14 15:14:57.906971702 +0800
最近改动:2022-07-14 15:14:57.906971702 +0800
创建时间:-
2GPT磁盘管理
一、文件系统结构介绍
- Data Blocks :数据块
- 存储实体数据
- inode
- 存储元数据(大小、类型、权限、时间)
- inode Bitmap inode位图
- 标识block的占用情况
- GDT 全局描述表
- 每个块组所包含的数据块信息
- Super Block 超级块
- block,inode的总量
- block,inode的使用情况
- 文件系统挂载情况
- 前446字节
- 操作系统的引导信息
- 64字节
- 分区表
- 记录主分区、扩展分区的信息
- 每个分区固定占16B
- 分区表
- 2字节
- 结束位
1、dd工具
- 拷贝数据
1)创建测试文件
[root@localhost ~]# dd if=/dev/zero of=/opt/a.txt bs=1M count=800
记录了800+0 的读入
记录了800+0 的写出
838860800字节(839 MB)已复制,1.56682 秒,535 MB/秒
[root@localhost ~]# du -h /opt/a.txt
800M /opt/a.txt
- if=源文件
- of=目的文件
- bs=每次导出的数据量
- count=次数
2)清除引导信息
dd if=/dev/zero of=/dev/sda bs=446
二、GPT格式磁盘分区
1、分区表的类型
- MBR
- 主分区、扩展分区、逻辑分区
- 主分区+扩展分区<=4
- 单个分区的容量最多只能是2T
- 分区工具:fdisk
- 主分区、扩展分区、逻辑分区
- GPT
- 支持2T以上的分区
- 无分区类型、分区数量的限制
- 分区工具:parted
2、parted工具的使用
[root@localhost ~]# parted /dev/sdb mklabel gpt
[root@localhost ~]# parted /dev/sdb mkpart web 100 2T
信息: You may need to update /etc/fstab.
[root@localhost ~]# parted /dev/sdb mkpart db 2T 4T
信息: You may need to update /etc/fstab.
[root@localhost ~]# parted /dev/sdb mkpart test 4T 100%
信息: You may need to update /etc/fstab.
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]#
[root@localhost ~]# lsblk | grep "sdb"
sdb 8:16 0 4.9T 0 disk
├─sdb1 8:17 0 1.8T 0 part
├─sdb2 8:18 0 1.8T 0 part
└─sdb3 8:19 0 1.3T 0 part
3RAID 磁盘阵列
一、RAID介绍
1、RAID 0 条带卷
- 组织、使用硬盘的一种方式
- 将多块物理
- 提升数据的读写速度
- 容量是所有硬盘之和
- 劣势
- 数据可靠性低
2、RAID 1 镜像卷
- 至少需要2块硬盘
- 优势
- 提升数据的可靠性
- 劣势
- 损失1/2的容量
- 写速度相对低
3、RAID 5 奇偶校验卷
- 至少3块硬盘
- 优势
- 提升数据读写速度、可靠性(校验码)
- 最多只支持坏1块盘
- 实际的存储空间
- 少1块硬盘的容量,用于存储校验码
4、RAID 6
- 与RAID 5工作方式类似
- 最多支持同时损坏2块盘
5、RAID 10
- 至少4块盘
- 优势
- 提升速度,可靠性
- 容量损失1/2
三、RAID实现方式
- 软RAID
- mdadm命令
-
硬RAID
- RAID卡
- 同品牌、同型号、同厂商的硬盘
- 硬盘必须是裸设备
四、模拟RAID 5的操作
1、创建RAID 5
[root@localhost ~]# mdadm -C /dev/md1 -n 3 -l 5 /dev/sdc /dev/sdd /dev/sde
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
- -C 创建
- -l 指定RAID的级别
- -n 指定磁盘的个数
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md1 : active raid5 sde[3] sdd[1] sdc[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[===>.................] recovery = 18.4% (3867648/20954112) finish=1.3min speed=203560K/sec
2、使用RAID
[root@localhost ~]# mkfs -t ext4 /dev/md1
[root@localhost ~]# mkdir /test4
[root@localhost ~]# mount /dev/md1 /test4
[root@localhost ~]# touch /test4/{1..100}.mp3
[root@localhost ~]# ls /test4/
100.mp3 16.mp3 22.mp3 29.mp3 35.mp3
[root@localhost ~]# df -hT | grep "md1"
/dev/md1 ext4 40G 49M 38G 1% /test4
3、热备盘 Hot Spare
- 减少故障的修复时间
1) 添加热备盘
[root@localhost ~]# mdadm -a /dev/md1 /dev/sdf
mdadm: added /dev/sdf
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md1 : active raid5 sdf[4](S) sde[3] sdd[1] sdc[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
2) 模拟硬盘故障
[root@localhost ~]# mdadm -f /dev/md1 /dev/sdd
mdadm: set /dev/sdd faulty in /dev/md1
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md1 : active raid5 sdf[4] sde[3] sdd[1](F) sdc[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
[=>...................] recovery = 7.6% (1600128/20954112) finish=1.4min speed=228589K/sec
4LVM逻辑卷管理
一、逻辑卷简介
- 优势
- 在线扩容
- 在不影响数据的情况下、扩展容量
- 在线扩容
- 工作流程
二、逻辑卷相关管理命令
1、PV相关命令
1)查看PV
[root@localhost ~]# pvscan
PV /dev/sda2 VG centos lvm2 [19.21 GiB / 0 free]
Total: 1 [19.21 GiB] / in use: 1 [19.21 GiB] / in no VG: 0 [0 ]
2)创建PV
命令:pvcreate [磁盘、分区]
2、VG相关命令
1)查看VG
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
2)查看VG的详细信息
[root@localhost ~]# vgdisplay centos
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 19.21 GiB //卷组的容量
PE Size 4.00 MiB // PE, 类似于数据块
Total PE 4919 // PE总个数
Alloc PE / Size 4919 / 19.21 GiB // 分配的容量
Free PE / Size 0 / 0 // 剩余的容量
VG UUID l3bjYh-yNWw-uOX6-t2Ar-lef9-Ts1Z-cCnbOI
3)创建VG
命令:vgcreate [vg名称] [pv名称] [pv名称]
3、逻辑卷LV相关命令
1)查看逻辑卷
[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [17.21 GiB] inherit
2)创建逻辑卷
命令:lvcreate -L 容量 -n 逻辑卷名称 卷组名称
命令:lvcreate -L 20G -n test mysql
三、案例——创建逻辑卷
要求:/dev/db/mysql 30G ext4 /mysql
注意:先关掉虚拟机,然后加磁盘,再操作
1、创建PV
[root@localhost ~]# pvcreate /dev/sdg /dev/sdh
Physical volume "/dev/sdg" successfully created.
Physical volume "/dev/sdh" successfully created.
[root@localhost ~]# pvscan
PV /dev/sda2 VG centos lvm2 [19.21 GiB / 0 free]
PV /dev/sdh lvm2 [20.00 GiB]
PV /dev/sdg lvm2 [20.00 GiB]
Total: 3 [59.21 GiB] / in use: 1 [19.21 GiB] / in no VG: 2 [40.00 GiB]
2、创建VG
[root@localhost ~]# vgcreate db /dev/sdg /dev/sdh
Volume group "db" successfully created
[root@localhost ~]# vgdisplay db
--- Volume group ---
VG Name db
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 0 / 0
Free PE / Size 10238 / 39.99 GiB
VG UUID UJix94-Mzbd-eqgd-mWj0-cDNN-4H45-FeauOb
3、创建LV
[root@localhost ~]# lvcreate -L 30G -n mysql db
Logical volume "mysql" created.
[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [17.21 GiB] inherit
ACTIVE '/dev/db/mysql' [30.00 GiB] inherit
4、创建文件系统,挂载使用
- 想创建文件系统,首先需要创建一个空的文件夹,记得重新加载,查询创建的文件系统类型用df -hT | grep "文件名",然后想要验证可以创建文件进行验证:touch /mysql/{1..10}.html
[root@localhost ~]# mkdir /mysql
[root@localhost ~]# mkfs -t ext4 /dev/db/mysql
[root@localhost ~]# tail -n 1 /etc/fstab
/dev/db/mysql /mysql ext4 defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -hT | grep "mysql"
/dev/mapper/db-mysql ext4 30G 45M 28G 1% /mysql
[root@localhost ~]# touch /mysql/{1..10}.sql
[root@localhost ~]# ls /mysql/
10.sql 1.sql 2.sql 3.sql 4.sql 5.sql 6.sql 7.sql 8.sql 9.sql lost+found
通过指定PE数量的方式创建逻辑卷
/dev/db/redis xfs /redis 800M
[root@localhost ~]# lvcreate -l 200 -n redis db
Logical volume "redis" created.
[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [17.21 GiB] inherit
ACTIVE '/dev/db/mysql' [30.00 GiB] inherit
ACTIVE '/dev/db/redis' [800.00 MiB] inherit
[root@localhost ~]# df -hT | grep "redis"
/dev/mapper/db-redis xfs 797M 33M 765M 5% /redis
[root@localhost ~]#
[root@localhost ~]# touch /redis/{1..10}.db
[root@localhost ~]# ls /redis/
10.db 1.db 2.db 3.db 4.db 5.db 6.db 7.db 8.db 9.db
四、逻辑卷扩容
1、扩容流程
- 先扩展物理大小
- lvextend
- 在扩展文件系统大小
- ewsize2fs
- 仅适用于ext4/3/2文件系统
- xfs_grows
- 适用于xfs文件系统
- ewsize2fs
2、扩展/dev/db/mysql的容量到35G
1)确认卷组剩余空间是都足够
[root@localhost ~]# vgdisplay db | grep -i "free"
Free PE / Size 2358 / 9.21 GiB
2)扩展逻辑卷物理大小
[root@localhost ~]# lvextend -L +5G /dev/db/mysql
[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [17.21 GiB] inherit
ACTIVE '/dev/db/mysql' [35.00 GiB] inherit
ACTIVE '/dev/db/redis' [800.00 MiB] inherit
[root@localhost ~]# df -hT | grep "mysql"
/dev/mapper/db-mysql ext4 30G 45M 28G 1% /mysql
3)扩展文件系统大小
先查看文件系统类型,选择适合的文件系统进行扩展
[root@localhost ~]# resize2fs /dev/db/mysql
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/db/mysql is mounted on /mysql; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 5
The filesystem on /dev/db/mysql is now 9175040 blocks long.
[root@localhost ~]# df -hT | grep "mysql"
/dev/mapper/db-mysql ext4 35G 48M 33G 1% /mysql
3、将/dev/db/mysql扩容到45GB
1)确认卷组剩余空间
[root@localhost ~]# vgdisplay db | grep -i "free"
Free PE / Size 1078 / 4.21 GiB
2)扩展卷组容量
[root@localhost ~]# pvcreate /dev/sdi
Physical volume "/dev/sdi" successfully created.
[root@localhost ~]# vgextend db /dev/sdi
Volume group "db" successfully extended
[root@localhost ~]# vgdisplay db | grep -i "free"
Free PE / Size 6197 / <24.21 GiB
3)扩展逻辑卷
[root@localhost ~]# lvextend -L +10G /dev/db/mysql
Size of logical volume db/mysql changed from 35.00 GiB (8960 extents) to 45.00 GiB (11520 extents).
Logical volume db/mysql successfully resized.
[root@localhost ~]# resize2fs /dev/db/mysql
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/db/mysql is mounted on /mysql; on-line resizing required
old_desc_blocks = 5, new_desc_blocks = 6
The filesystem on /dev/db/mysql is now 11796480 blocks long.
[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [17.21 GiB] inherit
ACTIVE '/dev/db/mysql' [45.00 GiB] inherit
ACTIVE '/dev/db/redis' [800.00 MiB] inherit
[root@localhost ~]# df -hT | grep "mysql"
/dev/mapper/db-mysql ext4 45G 52M 42G 1% /mysql
[root@localhost ~]# ls /mysql/
10.sql 1.sql 2.sql 3.sql 4.sql 5.sql 6.sql 7.sql 8.sql 9.sql lost+found
4、将/dev/db/redis扩容到1000M
[root@localhost ~]# lvextend -L +200M /dev/db/redis
Size of logical volume db/redis changed from 800.00 MiB (200 extents) to 1000.00 MiB (250 extents).
Logical volume db/redis successfully resized.
[root@localhost ~]# xfs_growfs /redis/
meta-data=/dev/mapper/db-redis isize=512 agcount=4, agsize=51200 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=204800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 204800 to 256000
[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [17.21 GiB] inherit
ACTIVE '/dev/db/mysql' [45.00 GiB] inherit
ACTIVE '/dev/db/redis' [1000.00 MiB] inherit
[root@localhost ~]# df -hT | grep "redis"
/dev/mapper/db-redis xfs 997M 33M 965M 4% /redis
五、逻辑卷缩容
1、注意事项
- 不支持在线缩容,必须先处于卸载状态
- 先缩减文件系统大小,再缩减物理大小
- xfs不支持缩减
2、将逻辑卷/dev/db/mysql缩减到10G
1)卸载逻辑卷
命令:umount /dev/db/mysql
2)检测文件系统是否有损坏
[root@localhost ~]# e2fsck -f /dev/db/mysql
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/db/mysql: 21/2949120 files (0.0% non-contiguous), 231191/11796480 blocks
3)先缩减文件系统大小
[root@localhost ~]# resize2fs /dev/db/mysql 10G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/db/mysql to 2621440 (4k) blocks.
The filesystem on /dev/db/mysql is now 2621440 blocks long.
4)在缩减逻辑卷物理大小
[root@localhost ~]# lvreduce -L 10G /dev/db/mysql
WARNING: Reducing active logical volume to 10.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce db/mysql? [y/n]: y
Size of logical volume db/mysql changed from 45.00 GiB (11520 extents) to 10.00 GiB (2560 extents).
Logical volume db/mysql successfully resized.
5)重新挂载逻辑卷,验证数据
[root@localhost ~]# mount /dev/db/mysql /mysql/
[root@localhost ~]# ls /mysql/
10.sql 1.sql 2.sql 3.sql 4.sql 5.sql 6.sql 7.sql 8.sql 9.sql lost+found
五、删除逻辑卷
1、删除逻辑卷
命令:lvremove <逻辑卷名称>
2、删除卷组
命令:vgremove <卷组名称>
3、删除物理卷
命令:pvremove <pv名称>
5链接文件
一、类型
1、硬链接
- 硬链接
- 本质上就是指向源文件所在的inode的另外一个指针
- 并不是一个单独的文件
命令:ln 源文件 目的文件
[root@localhost ~]# ls -l /opt/file01
-rw-r--r--. 2 root root 29 7月 18 15:24 /opt/file01
[root@localhost ~]# ls -l /tmp/AA
-rw-r--r--. 2 root root 29 7月 18 15:24 /tmp/AA
查看文件的inode文章来源:https://www.toymoban.com/news/detail-524850.html
[root@localhost ~]# ls -i /opt/file01
192421 /opt/file01
[root@localhost ~]# ls -i /tmp/AA
192421 /tmp/AA
2、软连接/符号链接【常用】
- 相对于源文件来说,软连接文件是个独立的文件
- 但软连接中并不保存真实的数据,仅保存源文件名的一个指向
命令:ln -s 源文件 目的文件文章来源地址https://www.toymoban.com/news/detail-524850.html
[root@localhost ~]# ln -s /opt/file02 /tmp/BB
[root@localhost ~]# ls -l /opt/file02
-rw-r--r--. 1 root root 9 7月 18 15:26 /opt/file02
[root@localhost ~]# ls -l /tmp/BB
lrwxrwxrwx. 1 root root 11 7月 18 15:26 /tmp/BB -> /opt/file02
[root@localhost ~]# ls -i /opt/file02
192464 /opt/file02
[root@localhost ~]# ls -i /tmp/BB
16786690 /tmp/BB
3、硬链接、软连接的区别
- 软连接
- 源文件损坏,链接文件失效
- 支持可以对文件、目录创建软链接
- 支持跨分区
- 硬链接
- 源文件损坏,链接文件 可继续访问
- 只支持对文件创建
- 不支持跨分区
到了这里,关于云计算Linux运维——Linux系统管理——磁盘管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!