云计算Linux运维——Linux系统管理——磁盘管理
点关注不迷路
目录
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
-
[]
-
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)查看逻辑卷
-
[]
-
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
-
[]
-
Logical volume "mysql" created.
-
-
[]
-
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
-
[root@localhost ~]# ls -i /opt/file01
-
192421 /opt/file01
-
[root@localhost ~]# ls -i /tmp/AA
-
192421 /tmp/AA
2、软连接/符号链接【常用】
- 相对于源文件来说,软连接文件是个独立的文件
- 但软连接中并不保存真实的数据,仅保存源文件名的一个指向
命令:ln -s 源文件 目的文件
-
[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、硬链接、软连接的区别
- 软连接
- 源文件损坏,链接文件失效
- 支持可以对文件、目录创建软链接
- 支持跨分区
- 硬链接
- 源文件损坏,链接文件 可继续访问
- 只支持对文件创建
- 不支持跨分区
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibafck
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22