20180613 TASK —— 4.7 - 4.13
6.13 Task
4.7/4.8 磁盘挂载
4.9 手动增加 swap 空间
4.10/4.11/4.12 lvm 讲解
4.13 磁盘故障小案例
4.7/4.8 磁盘挂载
- 一个磁盘可以不分区, 直接格式化;
## 直接将磁盘格式化为 xfs , 将之前的分区删除, 重新去格式化, 使用 fdisk 时要指定一个大盘, 不要去弄单独的一个区
[root@arron-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9c7b9224
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 83 Linux
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x9c7b9224
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
## 格式化为 xfs
[root@arron-01 ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, 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@arron-01 ~]# blkid /dev/sdb
/dev/sdb: UUID="78aa7c15-cd26-4bcd-8916-553828db8f8e" TYPE="xfs"
## 要去Linux 系统访问, 必须要挂载到一个挂载点(实际上就是一个目录)上;
- mount 挂载命令 , umount 卸载命令; 在挂载目录下, umount -l filesystem file / umount /mnt/ , 不在目录下, umount filesystem file /umount /mnt/
## 挂载磁盘到挂载点, 相当于磁盘的入口
[root@arron-01 ~]# mount /dev/sdb /mnt/
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
## 查看挂载后的磁盘类型
[root@arron-01 ~]# mount
......
/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11969)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=100816k,mode=700)
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
## 如果要卸载怎么办
[root@arron-01 ~]# cd /mnt
[root@arron-01 mnt]# ls
[root@arron-01 mnt]# touch 1.txt 2.txt ; mkdir 234;ls
1.txt 234 2.txt
## 卸载命令, umount; 无法卸载, 解决方法是退出来, 再卸载
[root@arron-01 mnt]# umount /dev/sdb
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@arron-01 mnt]# cd /root/
[root@arron-01 ~]# umount /dev/sdb
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
## 也可以在挂载点下 umount -l 去卸载
[root@arron-01 ~]# mount /dev/sdb /mnt/
[root@arron-01 ~]# ls /mnt/
1.txt 234 2.txt
[root@arron-01 ~]# cd /mnt/
[root@arron-01 mnt]# umount /mnt
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@arron-01 mnt]# umount -l /mnt/
[root@arron-01 mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
- mount -o rw/ro remount
## mount -o remount,rw /dev/foo /dir
## rw 可读可写 , suid 允许挂载的分区文件设置 suid 权限(像 /etc/passwd 文件) , dev 跟设备有关系, exec 是否可执行, nouser 是否允许普通用户挂载 , async 内存的数据随时写到磁盘上去 , sync 内存和磁盘的数据时时同步, 会增大磁盘的压力
defaults
Use default options: rw, suid, dev, exec, auto, nouser, and async.
- /etc/fstab 系统默认挂载哪些磁盘和分区的文件, 都是在这个文件下配置
UUID : UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分
UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等
[root@arron-01 ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Jun 9 03:13:13 2018
#
# 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
#
UUID=f602fb66-640c-4b32-b5b7-ca89a69a18e4 / xfs defaults 0 0
UUID=ca970cf1-34b7-498c-ab50-357b49f32212 /boot xfs defaults 0 0
UUID=aa2dda5d-d8c9-4f56-85c6-01aaef4fb15f swap swap defaults 0 0
## 设置挂载, /dev/sdb 可以设置为它的 UUID(通过 blkid 查询)
/dev/sdb /mnt xfs defaults 0 0
## /etc/fstab 每一列(field)的意思如下
第一列 : 这里的 UUID 也可以替换为挂载的分区 /dev/sda (举例)
第二列 : 挂载点, /mnt 等
第三列 : 分区格式, xfs /swap
第四列 : 挂载选项, 默认是 defaults
第五列 : dump 是否备份, 早期还有用, 现在没用了; 0 是临时不备份, 1 是备份
第六列 : 设置优先级, 文件系统重启时检测的顺序, 数字 1 是 root 要检测, 2 是其他用户要检测 , 0 是不检测
## man command / filesystem(not fully route file)
NAME
fstab - static information about the filesystems
The root filesystem should be specified with a fs_passno of 1, and
other filesystems should have a fs_passno of 2
If the sixth field is not present or zero, a value of
zero is returned and fsck will assume that the filesystem does not need to be checked.
## 在 /etc/fstab 里边写入文件后还要执行 mount 才能挂载成功
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.4G 27G 5% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
[root@arron-01 ~]# umount /mnt/
umount: /mnt/:未挂载
[root@arron-01 ~]# mount UUID="78aa7c15-cd26-4bcd-8916-553828db8f8e" /mnt/
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.4G 27G 5% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
4.9 手动增加 swap 空间
- swap 没必要设置成很大的空间, 现在 SSD 硬盘很贵, 最多设置成 8G 就可以了, 后期可以手动增加 swap
1.1 模拟磁盘,
## dd 操作磁盘, 读写磁盘, if 从哪里读, /dev/zero Linux 的倒零器(源源不断的产生 0), of 写入 0 的目的地 , bs 块的大小 (也可以设置成 4k) , count 表示数量 , newdisk 的总大小为 100M
[root@arron-01 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
## 模拟磁盘的快慢跟虚拟磁盘的读写速度的快慢
[root@arron-01 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,3.08193 秒,34.0 MB/秒
## 查看大小
[root@arron-01 ~]# ls -lh /tmp/newdisk
-rw-r--r--. 1 root root 100M 6月 14 22:28 /tmp/newdisk
[root@arron-01 ~]# du -sh /tmp/newdisk
100M /tmp/newdisk
- 格式化新增的模拟磁盘
swap 是特有的文件系统 , 需要用 mkswap 去格式化它
[root@arron-01 ~]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=b8ecaeac-4088-4b92-828a-b17cde6d8853
[root@arron-01 ~]# free -m
total used free shared buff/cache available
Mem: 984 124 180 6 679 680
Swap: 2047 0 2047
- 加模拟的磁盘
[root@arron-01 ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
## 虽然提示不安全, 但模拟的磁盘容量还是加上了
[root@arron-01 ~]# free -m
total used free shared buff/cache available
Mem: 984 124 180 6 679 680
Swap: 2147 0 2147
## 为了安全, 权限更改为 0600
[root@arron-01 ~]# chmod 600 /tmp/newdisk
- 如果不想要了, 可以删除它
[root@arron-01 ~]# swapoff /tmp/newdisk
[root@arron-01 ~]# free -m
total used free shared buff/cache available
Mem: 984 124 180 6 679 680
Swap: 2047 0 2047
[root@arron-01 ~]# rm -f /tmp/newdisk
[root@arron-01 ~]# ls /tmp/newdisk
ls: 无法访问/tmp/newdisk: 没有那个文件或目录
4.10/4.11/4.12 lvm 讲解
-
LVM 可以很方便的扩容和缩容磁盘空间, 但有有一定的局限性: 如果数据损坏, 磁盘上划分的物理分区的 LVM 恢复起来有些麻烦
-
LVM 分布图如下, 磁盘 --> 物理卷(磁盘分区) --> 卷组 --> 逻辑卷 (格式化, 且挂载到系统去)
- 准备磁盘分区 : fdisk /dev/sdb --> 创建三个新分区, 分别 1G --> t (改变分区类型为 8e)
3.1 格式化磁盘标签
[root@arron-01 ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: C419B25A-8B78-4716-9D4D-5F9EB5446F85
# Start End Size Type Name
1 2048 1953791 953M Microsoft basic primary
2 3907584 5859327 953M Microsoft basic primary
3 5861376 9764863 1.9G Microsoft basic extended
命令(输入 m 获取帮助):q
## 将之前划分好的磁盘分区格式化
[root@arron-01 ~]# parted mklabel gpt /dev/sdb
错误: 无法对设备 mklabel - 没有那个文件或目录 做 stat 操作。
重试/Retry/放弃/Cancel? cancel
[root@arron-01 ~]# parted /dev/sdb mklabel gpt
警告: 正在使用 /dev/sdb 上的分区。
忽略/Ignore/放弃/Cancel? ignore
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want
to continue?
是/Yes/否/No? yes
错误: Partition(s) 1 on /dev/sdb have been written, but we have been unable to inform the kernel of the change,
probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot
now before making further changes.
忽略/Ignore/放弃/Cancel? ingore
parted: invalid token: ingore
忽略/Ignore/放弃/Cancel? ignore
信息: You may need to update /etc/fstab.
[root@arron-01 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
## 在 /etc/fstab 里边删除之前更新的那一行
[root@arron-01 ~]# vim /etc/fstab
UUID=f4637728-8318-4478-8a48-e79c95fa2482 /mnt ext4 defaults 0 0
## 如下是错误的格式转换方法
[root@arron-01 ~]# mke2fs -t ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
/dev/sdb is apparently in use by the system; will not make a 文件系统 here!
[root@arron-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0004b47d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 1BF8B49B-42C5-496B-BF7B-36A8E9732EA3
# Start End Size Type Name
[root@arron-01 ~]# parted /dev/sdb mklabel ext4
parted: invalid token: ext4
新的磁盘标签类型? y
parted: invalid token: y
新的磁盘标签类型? yes
parted: invalid token: yes
新的磁盘标签类型?
新的磁盘标签类型?
新的磁盘标签类型? YES
parted: invalid token: YES
新的磁盘标签类型? 错误: 需要磁盘标签类型。
## 正确的转换磁盘标签类型
[root@arron-01 ~]# parted -s /dev/sdb mklabel msdos
错误: 正在使用 /dev/sdb 上的分区。
## 那就卸载然后再增加新的磁盘
[root@arron-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0004b47d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
3.2 磁盘分区
[root@arron-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0004b47d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
## 划分磁盘分区
[root@arron-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0004b47d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@arron-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x28c52cc5 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x28c52cc5
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x28c52cc5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
## 更改分区 Id , System 就变成了 Linux LVM , 这样才能做物理卷
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x28c52cc5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
## 这样就创建了三个分区
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x28c52cc5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@arron-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0004b47d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x28c52cc5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM
3.3 准备三个物理卷
pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3
pvdisplay/pvs 列出当前的物理卷
pvremove /dev/sdb3 删除物理卷
创建物理卷如下
[root@arron-01 ~]# pvcreate /dev/sdb1
-bash: pvcreate: 未找到命令
## 查找命令包的两个命令, yum search command / yum provides "/*/command"
[root@arron-01 ~]# yum search pvcreate
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.nju.edu.cn
* epel: mirrors.tongji.edu.cn
* extras: centos.ustc.edu.cn
* updates: mirrors.aliyun.com
警告:没有匹配 pvcreate 的软件包
No matches found
[root@arron-01 ~]# yum provides "/*/pvcreate"
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirror01.idc.hinet.net
* extras: ftp.sjtu.edu.cn
* updates: mirrors.aliyun.com
1:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash
源 :base
匹配来源:
文件名 :/usr/share/bash-completion/completions/pvcreate
7:lvm2-2.02.177-4.el7.x86_64 : Userland logical volume management tools
源 :base
匹配来源:
文件名 :/usr/sbin/pvcreate
## 安装包 lvm ( yum install -y lvm2 )
[root@arron-01 ~]# yum install -y lvm2
## 创建物理卷
[root@arron-01 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@arron-01 ~]# pvcreate /dev/sdb2 ; pvcreate /dev/sdb3
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
如果创建的分区还不存在, 需要执行命令 partprobe
清除签名
3.4 查看创建的分区 pvdisplay / pvs
[root@arron-01 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@arron-01 ~]# pvcreate /dev/sdb2 ; pvcreate /dev/sdb3
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
[root@arron-01 ~]# pvdisplay
"/dev/sdb3" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb3
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Y3oYkf-QvhJ-oMz3-Vmy2-MWDo-SYS1-ILYoet
"/dev/sdb1" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID bYz30y-YY9l-5KHf-yH1o-Tfpu-oPsg-2A7jDw
"/dev/sdb2" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 9wyW5E-uh0x-JXQK-JxPD-F2tI-FPri-RObnRd
[root@arron-01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 1.00g 1.00g
/dev/sdb2 lvm2 --- 1.00g 1.00g
/dev/sdb3 lvm2 --- 1.00g 1.00g
3.5 创建卷组
[root@arron-01 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
Volume group "vg1" successfully created
## 查看卷组 vgdisplay / vgs
[root@arron-01 ~]# vgdisplay
--- Volume group ---
VG Name vg1
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 1.99 GiB
PE Size 4.00 MiB
Total PE 510
Alloc PE / Size 0 / 0
Free PE / Size 510 / 1.99 GiB
VG UUID KPZyet-Gzz2-6dov-fPfX-in1y-FyYp-n36KUJ
[root@arron-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 1.99g 1.99g
3.6 创建逻辑卷 lvcreate -L 100M -n lv1 vg1 ; -L 指定大小 , -n 指定逻辑卷名称; lvremove /dev/vgname/lvname 删除逻辑卷
## 有了卷组后就可以创建逻辑卷了
[root@arron-01 ~]# lvcreate -L 100M -n lv1 vg1
[root@arron-01 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID Acr0cL-6or9-1Urf-k4pS-L9wi-4ptK-IHD4TF
LV Write Access read/write
LV Creation host, time arron-01, 2018-06-17 21:45:08 +0800
LV Status available
# open 0
LV Size 100.00 MiB
Current LE 25
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@arron-01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 100.00m
3.7 对创建好的逻辑卷格式化 : mkfs.ext4 /dev/vgname/lvname ; 先将文件系统格式化为 ext4, 因为 xfs 对后面的扩容缩容有影响
[root@arron-01 ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
3.8 挂载 mount /dev/vgname/lvname mountpoint
## 如下可以看到挂载的目录和挂载后的目录名称不一样, 前者是 /dev/vg1/lv1 , 后者是 /dev/mapper/vg1-lv1
[root@arron-01 ~]# mount /dev/vg1/lv1 /mnt/
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
## 实际上他们两个指向了同一个文件
[root@arron-01 ~]# ls -l /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 6月 17 21:50 /dev/vg1/lv1 -> ../dm-0
[root@arron-01 ~]# ls -l /dev/mapper/vg1-lv1
lrwxrwxrwx. 1 root root 7 6月 17 21:50 /dev/mapper/vg1-lv1 -> ../dm-0
[root@arron-01 ~]# ls -l /dev/dm-0
brw-rw----. 1 root disk 253, 0 6月 17 22:34 /dev/dm-0
## 在挂载的目录 /mnt 下创建目录和文件, 并对文件写入内容
[root@arron-01 ~]# mkdir /mnt/617
[root@arron-01 ~]# touch /mnt/1.txt;echo "121212" >> /mnt/1.txt
3.9 扩容逻辑卷; 逻辑卷存在是为了更好地扩容和缩容, 缩容比较少
扩容 lvresize -L 200M /dev/vgname/lvname , -L 指定大小
## 扩容逻辑卷
lvresize -L 300M /dev/vg1/lv1 重新设置卷大小
e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行, ext3/2 也可以)
resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行, ext3/2 也可以)
xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行
## 扩容
[root@arron-01 ~]# lvresize -L 200M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
Logical volume vg1/lv1 successfully resized.
## 发觉逻辑卷还是之前的大小 (100M)
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
## 卸载
[root@arron-01 ~]# umount /dev/mapper/vg1-lv1
[root@arron-01 ~]# lvresize -L 200M /dev/vg1/lv1
New size (50 extents) matches existing size (50 extents).
## 检查磁盘错误 e2fsck -f /dev/vg1/lv1
[root@arron-01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
## 更新逻辑卷信息 (如果不去更新, 就不能识别新的逻辑卷大小) resize2fs /dev/vgname/lvname
[root@arron-01 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.
## 重新 mount
[root@arron-01 ~]# mount /dev/vg1/lv1 /mnt
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /mnt
## 查看 mount 下的文件是否存在
[root@arron-01 ~]# ls /mnt
1.txt 617 lost+found
## 如果因为扩容而导致在扩容过程中新建的目录或文件不存在了, 那扩容就没有意义了
[root@arron-01 ~]# cat /mnt/1.txt
121212
4.0 缩容 —— 缩减逻辑卷 (xfs 不支持)
先umount
e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext)
resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
## 基本上和扩容, 不同在于顺序
[root@arron-01 ~]# umount /mnt
## 检查磁盘错误(ext)
[root@arron-01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/49400 files (7.7% non-contiguous), 11887/204800 blocks
## 更新逻辑卷信息(ext)
[root@arron-01 ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
## 重新设置卷大小
[root@arron-01 ~]# lvresize -L 100M /dev/vg1/lv1
WARNING: Reducing active logical volume to 100.00 MiB.
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 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
Logical volume vg1/lv1 successfully resized.
## 查看缩容后的逻辑卷
[root@arron-01 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID Acr0cL-6or9-1Urf-k4pS-L9wi-4ptK-IHD4TF
LV Write Access read/write
LV Creation host, time arron-01, 2018-06-17 21:45:08 +0800
LV Status available
# open 0
LV Size 100.00 MiB
Current LE 25
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@arron-01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 100.00m
## 重新挂载
[root@arron-01 ~]# mount /dev/vg1/lv1 /mnt
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
## 并不会因为缩容而导致文件有问题, 如果原逻辑卷有超过 100M 的内容, 如果逻辑卷减到 100M, 那肯定会出问题
[root@arron-01 ~]# ls -l /mnt
总用量 16
-rw-r--r--. 1 root root 7 6月 17 22:01 1.txt
drwxr-xr-x. 2 root root 1024 6月 17 22:00 617
drwx------. 2 root root 12288 6月 17 21:50 lost+found
- xfs 文件系统扩容操作, xfs 文件系统不支持缩容
## 卸载并查看分区
[root@arron-01 ~]# umount /mnt
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
## 重新格式化
[root@arron-01 ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@arron-01 ~]# blkid
/dev/sda1: UUID="9e9d939b-7b13-4c26-b956-d2e2ef0d0dc2" TYPE="xfs"
/dev/sda2: UUID="a9df1da7-288d-46b3-8614-a4327f358c31" TYPE="swap"
/dev/sda3: UUID="9efe0c94-2bab-4cf7-a5c8-9f94c1fb417b" TYPE="xfs"
/dev/sdb1: UUID="bYz30y-YY9l-5KHf-yH1o-Tfpu-oPsg-2A7jDw" TYPE="LVM2_member"
/dev/sdb2: UUID="9wyW5E-uh0x-JXQK-JxPD-F2tI-FPri-RObnRd" TYPE="LVM2_member"
/dev/sdb3: UUID="Y3oYkf-QvhJ-oMz3-Vmy2-MWDo-SYS1-ILYoet" TYPE="LVM2_member"
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/vg1-lv1: UUID="09b53ee8-4d47-49ef-ac2a-63cbb7a2ea6d" TYPE="xfs"
## 在 /mnt 下创建目录和文件, 并对文件写入一些内容
[root@arron-01 ~]# mkdir /mnt/2018;touch /mnt/2.txt;echo "121212" >> /mnt/2.txt;ls /mnt
2018 2.txt
[root@arron-01 ~]# cat /mnt/2.txt
121212
## 在扩容过程中 ext 需要卸载再继续扩容, xfs 也需要
[root@arron-01 ~]# lvresize -L 300M /dev/vg1/lv1;lvdisplay;lvs
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
Logical volume vg1/lv1 successfully resized.
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID Acr0cL-6or9-1Urf-k4pS-L9wi-4ptK-IHD4TF
LV Write Access read/write
LV Creation host, time arron-01, 2018-06-17 21:45:08 +0800
LV Status available
# open 1
LV Size 300.00 MiB
Current LE 75
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 300.00m
## 发觉扩容还没显示
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 97M 5.2M 92M 6% /mnt
## 卸载再挂载
[root@arron-01 ~]# mount /dev/vg1/lv1 /mnt
mount: /dev/mapper/vg1-lv1 已经挂载或 /mnt 忙
/dev/mapper/vg1-lv1 已经挂载到 /mnt 上
[root@arron-01 ~]# umount -l /mnt
[root@arron-01 ~]# mount /dev/vg1/lv1 /mnt
## xfs文件系统需要执行这一步才能完成扩容 —— xfs_growfs /dev/vg1/lv1 , 而不需要执行(ext 文件系统的操作步骤) " e2fsck -f /dev/vg1/lv1 检查磁盘错误 " 和 " resize2fs /dev/vg1/lv1 更新逻辑卷信息 "
[root@arron-01 ~]# xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=25600, 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 25600 to 76800
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 297M 5.5M 292M 2% /mnt
- 扩展卷组
fdisk /dev/sdb 新增/dev/sdb5(逻辑分区8e) 2G
pvcreate /dev/sdb5
vgextend vg1 /dev/sdb5
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
## 当逻辑卷的空间耗完卷组时, 就要想办法给卷组扩容了,
[root@arron-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 1.99g <1.70g
6.1 卷组扩容
[root@arron-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0004b47d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x28c52cc5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM
磁盘 /dev/mapper/vg1-lv1:314 MB, 314572800 字节,614400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
## 卷组扩容 vgextend vgname /dev/sdbname
[root@arron-01 ~]# vgextend vg1 /dev/sdb3
Volume group "vg1" successfully extended
[root@arron-01 ~]# vgdisplay
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 13
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <2.99 GiB
PE Size 4.00 MiB
Total PE 765
Alloc PE / Size 75 / 300.00 MiB
Free PE / Size 690 / <2.70 GiB
VG UUID KPZyet-Gzz2-6dov-fPfX-in1y-FyYp-n36KUJ
[root@arron-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- <2.99g <2.70g
6.2 逻辑卷扩容 lvresize -L 100M /dev/vgname/lvname , 6.1 是扩容卷组, 现在是逻辑卷扩容
[root@arron-01 ~]# lvresize -L 1100M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 1.07 GiB (275 extents).
Logical volume vg1/lv1 successfully resized.
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 297M 5.5M 292M 2% /mnt
[root@arron-01 ~]# xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=12, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=76800, 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 76800 to 281600
## 扩容成功
[root@arron-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.5G 27G 6% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 485M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 96M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 1.1G 6.5M 1.1G 1% /mnt
4.13 磁盘故障小案例
- 写了一行配置到 /etc/fstab 里边, 做完 Lvm 试验后, 重启系统, 发觉无法进入系统, 问题如下
- 以后在生产环境中遇到类似的问题了, 那往往是磁盘挂载出现问题了
2.1 需要输入 root 密码
2.2 进入界面, 编辑 /etc/fstab, 删除增加的那一行
2.3 保存, 退出来, reboot, 最后远程登录看看是否可行