【图文教程】 Linux 磁盘管理

预习任务

4.1 df命令
4.2 du命令
4.3/4.4 磁盘分区
4.5/4.6 磁盘格式化
4.7/4.8 磁盘挂载
4.9 手动增加swap空间
4.10/4.11/4.12 lvm讲解
4.13 磁盘故障小案例

扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html

4.1 df命令:

df介绍:df命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df [选项] [文件名]

参数 参数含义
-a –all,显示所有的文件系统,包括虚拟文件系统。
-B –block-size,指定单位大小。比如1k,1m等。
-h –human-readable,以人们易读的GB、MB、KB等格式显示。
-H –si,和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
-i –inodes,不用硬盘容量,而是以inode的数量来显示。
-k 以KB的容量显示各文件系统,相当于–block-size=1k。
-m 以KB的容量显示各文件系统,相当于–block-size=1m。
-l –local,只显示本地文件系统。
–no-sync 在统计使用信息之前不调用sync命令(默认)。
-sync 在统计使用信息之前调用sync命令。
-P –portability,使用POSIX格式显示。
-t –type=TYPE,只显示指定类型的文件系统。
-T –print-type,显示文件系统类型。
-x –exclude-type=TYPE,不显示指定类型的文件系统。
–help 显示帮助信息。
–version 显示版本信息。
单位 单位含义
Byte 字节
KB 1024字节=1KB
MB 1024KB=1MB
GB 1024MB=1GB
TB 1024GB=1TB

df主要参数示例:

df 命令可以汇报文件系统的磁盘空间使用情况,直接回车就可以查看文件系统的使用情况:

注意:Linux的磁盘是不能直接访问的,需要有个挂载点,需要通过挂载点才能进入磁盘进行读写数据。
[root@sc ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      29140072 1113372 28026700    4% /
devtmpfs         491940       0   491940    0% /dev
tmpfs            502812       0   502812    0% /dev/shm
tmpfs            502812    7632   495180    2% /run
tmpfs            502812       0   502812    0% /sys/fs/cgroup
/dev/sda1        201380  106812    94568   54% /boot
tmpfs            100564       0   100564    0% /run/user/0

df 命令还个常用的 -h 选项,加上此选项后显示的结果会根据磁盘的大小来显示合适的单位:

注意:文件系统目录带有 tmp 的一般都是临时的文件系统目录,即便在其挂载点下写入了数据,但是只要一重启操作系统就会清空。不过我们一般不需要关注 tmp 之类的文件系统目录,我们需要关注的是 dev 之类的文件系统目录。
[root@sc ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.5M  484M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs            99M     0   99M    0% /run/user/0

用 free 命令可以查看 swap :

[root@sc ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1005628      135824      583056        7664      286748      689036
Swap:       2097148           0     2097148

df 有个 -i 选项,使用此选项可以查看文件系统目录的 inode 和 inode 的使用情况,Linux 的 inode号是在格式化磁盘的时候就预先分配好了的,inode 的大小与磁盘的大小有关系:

提示:如果挂载点还有足够的剩余容量,但是却无法写入数据的话,这时就可以使用 df -i 查看一下是否是 inode 号没有剩余可使用的,若是某个文件系统目录已经没有剩余可使用的 inode 号就会无法在此文件系统目录的挂载点下写入数据。
[root@sc ~]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3      14577152   26852 14550300       1% /
devtmpfs         122985     381   122604       1% /dev
tmpfs            125703       1   125702       1% /dev/shm
tmpfs            125703     658   125045       1% /run
tmpfs            125703      16   125687       1% /sys/fs/cgroup
/dev/sda1        102400     326   102074       1% /boot
tmpfs            125703       1   125702       1% /run/user/0

df 命令加 -m 选项的话是以MB的单位来显示大小:

[root@sc ~]# df -m
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda3      28458  1087 27371    4% /
devtmpfs         481     0   481    0% /dev
tmpfs            492     0   492    0% /dev/shm
tmpfs            492     8   484    2% /run
tmpfs            492     0   492    0% /sys/fs/cgroup
/dev/sda1        197   105    93   54% /boot
tmpfs             99     0    99    0% /run/user/0

4.2 du命令:

du 命令是用来查看一个文件大小的,不加任何选项并且不指定路径的话,是查看当前目录下的文件和目录的大小,并且不显示文件大小的单位,显示的是数字,这些数字的默认单位是 KB
[root@sc ~]# du
28	.
du 加 -sh 选项后面跟具体的路径就可以查看指定的目录或文件的大小::
[root@sc ~]# du -sh /root/  # 查看目录大小
28K	/root/
[root@sc ~]# du -sh /etc/passwd  # 查看文件大小
4.0K	/etc/passwd
如果使用 ls -lh 命令查看 passwd 文件会发现此文件只有1.3K,而使用du -sh命令查看却是显示的4K,这是因为磁盘在格式化的时候,是把存储空间划分为一个一个的小块,这每个小块的大小就是4K,而一个小块只能存储一个文件,不可以存储多个文件,所以即便此文件的大小没有4K,也是占用着4K的存储空间。
[root@sc ~]# ls -lh /etc/passwd
-rw-r--r--. 1 root root 1.3k 3月  19 07:59 /etc/passwd
[root@sc ~]# du -sh /etc/passwd
4.0K	/etc/passwd

4.3/4.4 磁盘分区:

在日常工作中我们接触的比较多的是给操作系统增加磁盘接着划分分区和挂载,例如我要给操作系统添加一块硬盘,因为是在虚拟机软件上安装的操作系统,所以我们可以直接通过软件来在设置界面里添加一个磁盘:

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

现在我们就已经添加好一块硬盘了,一般在服务器都是支持热拔插磁盘的,也就是插上一块磁盘服务器马上就可以识别了,但是在虚拟机上不支持。

fdisk命令:

fdisk -l 命令可以查看目前操作系统下所有的磁盘,可以看得出并没有识别到刚刚添加上去的磁盘,所以这时候需要重启一下操作系统:
[root@sc ~]# fdisk -l

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c4ac8

   设备 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

reboot 重启之后再使用 fdisk -l 命令查看一下是否识别到了新的磁盘:
[root@sc ~]# reboot  # 重启
[root@sc ~]# fdisk -l

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c4ac8

   设备 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:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
fdisk命令后面跟指定的磁盘名称就可以进行划分分区:

咱们用的 fdisk 划分的分区有一个格式叫 MBR 分区,MBR 分区有一个特点最高支持2个T
超过2个T就不能用 fdisk 划分分区了。而且主分区最多只能划分四个,想要四个以上的分区,就划分三个主分区,剩下一个划分扩展分区,然后在扩展分区里面划分逻辑分区。

所以主分区+扩展分区的和小于等于四。

[root@sc ~]# fdisk /dev/sdb  # 创建分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x814c5472 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):
命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag                           # 切换可引导标志
   b   edit bsd disklabel                               # 编辑BSD磁盘标签
   c   toggle the dos compatibility flag                # 切换DOS兼容性标志
   d   delete a partition                               # 删除分区
   g   create a new empty GPT partition table           # 创建新的空GPT分区表
   G   create an IRIX (SGI) partition table             # 创建IRIX(SGI)分区表                    
   l   list known partition types                       # 列出已知分区类型
   m   print this menu                                  # 打印此菜单
   n   add a new partition                              # 添加新分区
   o   create a new empty DOS partition table           # 创建新的空DOS分区表
   p   print the partition table                        # 打印分区表
   q   quit without saving changes                      # 不保存更改就退出
   s   create a new empty Sun disklabel                 # 创建新的空Sun磁盘标签
   t   change a partition's system id                   # 更改分区的系统ID
   u   change display/entry units                       # 更改显示/输入单位
   v   verify the partition table                       # 验证分区表
   w   write table to disk and exit                     # 将表写入磁盘并退出
   x   extra functionality (experts only)               # 额外功能(仅限专家)
那么我们先划分一个主分区:
命令(输入 m 获取帮助):n                                      # 添加新分区的命令
Partition type:
   p   primary (0 primary, 0 extended, 4 free)             # 主分区
   e   extended                                            # 扩展分区
Select (default p): p
分区号 (1-4,默认 1):1                                      # 使用分区号1
起始 扇区 (2048-41943039,默认为 2048):                      # 使用默认的起始扇区
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G  # 分区大小设置成2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p                                      # 查看分区

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x814c5472

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux        # 已经添加好了一个2G的主分区
还可以继续划分4个主分区:
  设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    41943039    15727616   83  Linux  # 已经设置好4个主分区了

命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
# 如果要创建四个以上的分区,必须替换
首先使用扩展分区的主分区。
如果想继续增加分区,只能删除一个主分区:
命令(输入 m 获取帮助):d     # 删除分区
分区号 (1-4,默认 4):4     # 默认从4开始删除
分区 4 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x814c5472

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux  
添加一个扩展分区并划分两个逻辑分区/sdb5、/sdb6:
命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e  # 添加e划分扩展分区
已选择分区 4
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+4G
分区 4 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x386ba823

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended  # 划分了一个扩展分区大小4G

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (10489856-18876415,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-18876415,默认为 18876415):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x386ba823

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (12589056-18876415,默认为 12589056):
将使用默认值 12589056
Last 扇区, +扇区 or +size{K,M,G} (12589056-18876415,默认为 18876415):+1G
分区 6 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x386ba823

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux  # 划分两个逻辑分区大小各1G
/dev/sdb6        12589056    14686207     1048576   83  Linux

命令(输入 m 获取帮助):
现在划分了三个主分区一个扩展分区和一个逻辑分区,如果我需要删除一个主分区:

在这里插入图片描述在这里插入图片描述

逻辑分区的分区号有一个特点就是在5开始的,5以内的分区号都是预留给主分区和扩展分区的,而且逻辑分区的分区号是连续性的:

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

这时候再添加一个扩展分区:

在这里插入图片描述

扫描二维码关注公众号,回复: 5772521 查看本文章
逻辑分区的分区号有一个特点就是在5开始的,5以内的分区号都是预留给主分区和扩展分区的,而且逻辑分区的分区号是连续性的:

在这里插入图片描述在这里插入图片描述

再来从新一个主分区,w保存:

在这里插入图片描述

如果想把 /dev/sdb/ 已经保存的sdb1分区删除:

在这里插入图片描述

使用fdisk -l命令查看一下是否添加分区成功:

提示:扩展分区本身不占空间,扩展分区就像一个壳子,真正占着空间的是扩展分区下的逻辑分区。

在这里插入图片描述

4.5/4.6 磁盘格式化

将磁盘划分分区之后,就需要对磁盘进行格式化才能够进行使用,格式化需要选择一个文件系统来进行格式化,使用cat /etc/filesystems 命令可以查看CentOS7里支持的文件系统格式:

xfs格式是CentOS7的默认文件系统,在CentOS6版本之前的默认文件系统格式是ext。

[root@sc ~]# cat /etc/filesystems 
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*

mke2fs是格式化磁盘的命令,此命令有以下几种常用选项:

1. mke2fs -t 此选项可以指定格式化成某个格式的文件系统,

例如:mke2fs -t ext4 /dev/sdb1

指定将/dev/sdb1 磁盘分区格式化成ext4格式的文件系统

[root@sc ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 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: 完成
2. mke2fs -b 此选项可以指定块的大小,这个块就是格式化磁盘时分隔的一个一个的小块,例如我用ls -lh查看某个文件的大小显示的结果是1.3kb,但是用du -sh查看却是4kb,这就说明这个磁盘的块大小是4kb。

例如:mke2fs -t ext4 -b 2048 /dev/sdb1

指定 /dev/sdb1磁盘分区的块大小为2k,文件系统格式是ext4,2048是字节单位。

[root@sc ~]# mke2fs -t ext4 -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 1572864 blocks
78643 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=270008320
96 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
3. mke2fs -m 此选项可以指定某个磁盘分区的预留容量的大小。

例如:mke2fs -m 1 /dev/sdb1

指定将/dev/sdb1 磁盘分区预留容量的大小指定为此磁盘总容量的1%。

[root@sc ~]# mke2fs -m 1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
7864 blocks (1.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 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表: 完成                            
Writing superblocks and filesystem accounting information: 完成 
4. mke2fs -i 此选项可以指定某个磁盘分区的inode号的数量。默认的情况下是四个块对应一个inode号,每个块默认是4kb,也就是说inode号与块大约是1:4的比例:
[root@sc ~]# mke2fs -i 8192 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
16384 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: 完成

blkid命令可以查看已格式化但未挂载的磁盘分区:

例如:blkid /dev/sdb1

[root@sc ~]# blkid /dev/sdb1
/dev/sdb1: UUID="4cb50ee3-cf05-4f24-9fda-f4e69532efba" TYPE="ext4"

mke2fs命令不支持xfs格式的文件系统,要将磁盘分区格式化成xfs格式的文件系统的话,需要用mkfs命令。

例如:mkfs.xfs -f /dev/sdb1

[root@sc ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=786432, 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@sc ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, 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

4.7/4.8 磁盘挂载:mount

mount是挂载命令,此命令后面要有两个参数,一个是要挂载的文件系统名称,一个是挂载点名称。
[root@sc ~]# mount /dev/sdb /mnt
[root@sc ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.5M  484M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs            99M     0   99M    0% /run/user/0
/dev/sdb         20G   33M   20G    1% /mnt
挂载点可以说是磁盘的入口,如果没有挂载点是无法对磁盘写入数据的。umount 命令可以卸载掉某个挂载点:
[root@sc ~]# cd /mnt
[root@sc mnt]# ls 
[root@sc mnt]# touch 1.txt 2.txt
[root@sc mnt]# mkdir 234
[root@sc mnt]# ls
1.txt  234  2.txt
[root@sc mnt]# umount /dev/sdb
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@sc mnt]# pwd
/mnt
[root@sc mnt]# cd
[root@sc ~]# umount /dev/sdb  # 卸载/dev/sdb #
[root@sc ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.5M  484M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs            99M     0   99M    0% /run/user/0
umount 命令可以直接跟挂载点的名称,比如直接跟 /mnt/ 就是把 /mnt/ 挂载点卸载掉。umount 命令有一个 -l 选项,加上此选项后即便你在某个挂载点目录下也可以直接对此挂载点进行卸载。
[root@sc ~]# mount /dev/sdb /mnt/
[root@sc ~]# ls /mnt/
1.txt  234  2.txt
[root@sc ~]# cd /mnt/
[root@sc mnt]# umount /mnt/
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@sc mnt]# umount -l /mnt/
[root@sc mnt]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.5M  484M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs            99M     0   99M    0% /run/user/0
mount命令的常用选项:

mount -o 此选项后面可以跟它的options

etc目录下的fstab文件是CentOS7系统启动时默认挂载哪些分区的配置文件:
在这里插入图片描述

blkid可以看到磁盘的UUID,可以直接使用UUID挂载磁盘:
[root@sc mnt]# blkid
/dev/sdb: UUID="f44cf92d-db08-465d-bf10-42da199485aa" TYPE="xfs" 
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="24721584-ebe9-4e79-b6f9-cf7f801d4602" TYPE="xfs" 
/dev/sda2: UUID="92dcdd02-d7be-4237-9971-5c5a7ae5bf24" TYPE="swap" 
/dev/sda3: UUID="85405c4c-0530-4515-9b23-6996f42f55f4" TYPE="xfs" 
[root@sc mnt]# mount UUID="f44cf92d-db08-465d-bf10-42da199485aa"
[root@sc mnt]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.5M  484M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs            99M     0   99M    0% /run/user/0
/dev/sdb         20G   33M   20G    1% /mnt

4.9 手动增加swap空间:

想要手动增加swap空间的话,需要先添加一个小的虚拟磁盘:
[root@sc mnt]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.139927 秒,749 MB/秒
[root@sc mnt]# du -sh /tmp/newdisk
100M	/tmp/newdisk
dd:命令是用来操作磁盘的
if:是指定从哪里去读取
/dev/zero:是Linux内核的造0器,可以产生源源不断的0
of:是指定将0写入到哪个文件里
bs:是指定每个块的大小
count:是指定newdisk文件的大小,在这里指定的大小是100M,这个大小是根据指定的块大小来计算的,例如指定的块大小是4k,那么这个文件就是400k。
添加完毕后,接下来就是对这个虚拟磁盘进行格式化,因为swap是特有的文件系统格式,所以需要使用mkswap命令:
[root@sc mnt]# mkswap -f /tmp/newdisk 
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=311647c6-f258-4af5-a4b7-002527789c37
格式化完成后,使用swapon命令将磁盘加上swap里去:
[root@sc mnt]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
使用free -m命令可以查看swap的信息:
[root@sc mnt]# free -m
              total        used        free      shared  buff/cache   available
Mem:            982         132         586           7         262         675
Swap:          2147           0        2147
[root@sc mnt]# chmod 0600 /tmp/newdisk
使用swapoff命令可以卸载添加的虚拟磁盘,卸载之后如果不想要那个虚拟磁盘就把文件删掉即可:
[root@sc mnt]# swapoff /tmp/newdisk
[root@sc mnt]# free -m
              total        used        free      shared  buff/cache   available
Mem:            982         132         586           7         262         675
Swap:          2047           0        2047
[root@sc mnt]# rm -f /tmp/newdisk

4.10/4.11/4.12 lvm讲解:

lvm可以很方便的扩容和缩容磁盘的空间,但是有一定的局限性,一旦出现问题就比较麻烦了,例如某个磁盘使用了lvm,然后某一天文件系统发生损坏里面的数据找不到了,这种情况第一时间都是想到恢复数据,但是由于磁盘物理分区的基础上划分了lvm,因为lvm结构很复杂所以数据恢复起来没有那么容易,lvm是一个软件工具是具有一定风险的。

简单介绍lvm:

在这里插入图片描述

在操作系统里完成以下描述的操作: 在这里插入图片描述
使用fdisk /dev/sdb命令在/dev/sdb磁盘里创建三个新分区:
[root@sc ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xa97e4eee 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n     
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa97e4eee

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux  # 正常的id号是83

命令(输入 m 获取帮助):t  # 选择 t 命令
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa97e4eee

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM  # id变为8e代表改为LVM

命令(输入 m 获取帮助):
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa97e4eee

   设备 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  # 已经准备好三个LVM分区了

命令(输入 m 获取帮助):

在这里插入图片描述

使用pvcreate命令将三个分区做成物理卷:
[root@sc ~]# yum provides "/*/pvcreate"  # 全路径去搜索 pvcreate 这个命令的安装包
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
1:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash
源    :base
匹配来源:
文件名    :/usr/share/bash-completion/completions/pvcreate



7:lvm2-2.02.180-8.el7.x86_64 : Userland logical volume management tools
源    :base
匹配来源:
文件名    :/usr/sbin/pvcreate



7:lvm2-2.02.180-10.el7_6.1.x86_64 : Userland logical volume management tools
源    :updates
匹配来源:
文件名    :/usr/sbin/pvcreate



7:lvm2-2.02.180-10.el7_6.2.x86_64 : Userland logical volume management tools
源    :updates
匹配来源:
文件名    :/usr/sbin/pvcreate



7:lvm2-2.02.180-10.el7_6.3.x86_64 : Userland logical volume management tools
源    :updates
匹配来源:
文件名    :/usr/sbin/pvcreate
[root@sc ~]# yum install -y lvm2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
[root@sc ~]# ls /dev/sdb
/dev/sdb
[root@sc ~]# ls /dev/sdb1
ls: 无法访问/dev/sdb1: 没有那个文件或目录
[root@sc ~]# partprobe  # 加载生成
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@sc ~]# ls /dev/sdb1
/dev/sdb1
[root@sc ~]# pvcreate /dev/sdb1
  Can't open /dev/sdb1 exclusively.  Mounted filesystem?
[root@sc ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.6M  484M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
/dev/sdb         20G   33M   20G    1% /mnt
tmpfs            99M     0   99M    0% /run/user/0
[root@sc ~]# umount /mnt
[root@sc ~]# 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.
[root@sc ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@sc ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
将分区都做成物理卷后使用pvdispaly命令列出物理卷:
[root@sc ~]# pvdisplay  # 查看物理卷的命令
  "/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               mWqmfm-8nCJ-3Iz0-qiNj-fCwG-hct5-yDGh2y
   
  "/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               tCS9vU-Wbt3-N1t4-Fxlh-tCSu-Xphm-KCwmDP
   
  "/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               oHKBUr-IKWm-EUG4-jvih-68HK-Eq47-UPLXjq
   
pvremove是删除物理卷的命令:
[root@sc ~]# pvremove /dev/sdb3
  Labels on physical volume "/dev/sdb3" successfully wiped.
pvs命令也能列出物理卷,并且更直观:
[root@sc ~]# 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
创建完物理卷之后,就可以开始创建卷组了,vgcreate命令可以创建卷组:
[root@sc ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created

vgcreate:创建卷组命令
vg1:卷组的名称
/dev/sdb1 /dev/sdb2:物理卷的路径,可以跟多个

vgdisplay命令可以查看卷组:
[root@sc ~]# 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               rHka4G-pKqf-KWTU-9ZwU-Voae-M0VJ-kZzobJ
   
vgs命令也可以查看卷组:
[root@sc ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 1.99g 1.99g
vgremove是删除卷组命令:
[root@sc ~]# vgremove
有了卷组之后就可以创建逻辑卷了,lvcreate是创建逻辑卷的命令:
[root@sc ~]# lvcreate -L 100M -n lv1 vg1
  Logical volume "lv1" created.

lvcreate:创建逻辑卷的命令
-L 100M:划分大小
-n lv1:名称
vg1:从vg1卷组里划分

接下来就是对逻辑卷进行格式化了:
[root@sc ~]# lvcreate -L 100M -n lv1 vg1
  Logical volume "lv1" created.
[root@sc ~]# 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: 完成
格式化完毕后就可以进行挂载了:
[root@sc ~]# mount /dev/vg1/lv1 /mnt
[root@sc ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             28G  1.3G   27G    5% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                492M     0  492M    0% /dev/shm
tmpfs                492M  7.6M  484M    2% /run
tmpfs                492M     0  492M    0% /sys/fs/cgroup
/dev/sda1            197M  105M   93M   54% /boot
tmpfs                 99M     0   99M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt
[root@sc ~]# ls -l /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 3月  24 18:47 /dev/vg1/lv1 -> ../dm-0
[root@sc ~]# ls -l /dev/mapper/vg1-lv1 
lrwxrwxrwx. 1 root root 7 3月  24 18:47 /dev/mapper/vg1-lv1 -> ../dm-0

在这里插入图片描述

先卸载挂载点再执行命令重新设置卷的大小:
[root@sc ~]# umount /mnt/
[root@sc ~]# 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.
检测磁盘错误:
[root@sc ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks
更新逻辑卷信息,如果不更新的话会在挂载时识别不了新 的大小:
[root@sc ~]# 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.

[root@sc ~]# mount /dev/vg1/lv1 /mnt/
[root@sc ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             28G  1.3G   27G    5% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                492M     0  492M    0% /dev/shm
tmpfs                492M  7.7M  484M    2% /run
tmpfs                492M     0  492M    0% /sys/fs/cgroup
/dev/sda1            197M  105M   93M   54% /boot
tmpfs                 99M     0   99M    0% /run/user/0
/dev/mapper/vg1-lv1  190M  1.6M  175M    1% /mnt

在这里插入图片描述

先卸载挂载点:
[root@sc ~]# umount /mnt
检测磁盘错误:
[root@sc ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 11/49400 files (9.1% non-contiguous), 11884/204800 blocks
更新逻辑卷信息:
[root@sc ~]# 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@sc ~]# 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@sc ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 100.00m
进行挂载:
[root@sc ~]# !mount
mount /dev/vg1/lv1 /mnt/

xfs文件系统格式的扩容:

将逻辑卷格式化成xfs文件系统格式:
[root@sc ~]# umount /mnt/
[root@sc ~]# 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@sc ~]# !mount
mount /dev/vg1/lv1 /mnt/
扩容逻辑卷:
[root@sc ~]# lvresize -L 300M /dev/vg1/lv1
  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.
[root@sc ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-ao---- 300.00m                                                    

xfs和ext不同太一样,xfs需要使用xfs_growfs命令执行一下:
[root@sc ~]# 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@sc ~]# vgextend vg1 /dev/sdb3
  Volume group "vg1" successfully extended
[root@sc ~]# vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  6
  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               rHka4G-pKqf-KWTU-9ZwU-Voae-M0VJ-kZzobJ
   
[root@sc ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree 
  vg1   3   1   0 wz--n- <2.99g <2.70g
然后扩容逻辑卷,重新设置卷大小:
[root@sc ~]# lvresize -L 100M /dev/vg1/lv1
  WARNING: Reducing active and open 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 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/lv1 successfully resized.

4.13 磁盘故障小案例:

因为之前写了一行配置到etc目录下的fstap文件里,然后进行了以上的lvm操作后重新系统发现出现以下界面,出现这种情况一般是磁盘挂载点出现了问题,不能正常挂载到挂载点:
在这里插入图片描述

因为我知道出现问题的原因,所以我直接进入系统后编辑 /etc 目录下的 fstab 文件:
举例:vi /etc/fstab
在这里插入图片描述

然后保存退出后 reboot 重启操作系统,出现正常界面则是没问题了:
在这里插入图片描述

3月23日 直播课内容:

磁盘分区实际工作中使用场景
服务器加装磁盘,对磁盘进行分区格式化
云主机加硬盘,云盘扩容
磁盘有坏道的修复 fsck/e2fsck -a 分区名 https://www.2cto.com/os/201204/126370.html

在对磁盘的操作过程当中要避免数据的丢失
磁盘做raid,raid有raid1、raid5、raid6、raid10
数据做及时备份,备份方案:drdb、rsync+inotify
扩展阅读:
raid是什么?https://blog.csdn.net/caipeichao2/article/details/52661825
RAID磁盘阵列配置和调优小结 https://www.jianshu.com/p/b1cfac3f7679?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
drdb安装?https://blog.51cto.com/linuxboys/1673311
Rsync+inotify搭建实时同步系统 https://blog.51cto.com/10316297/2136440
磁盘坏道修复 https://www.jianshu.com/p/0b7c7e9a8779

dd使用场景
测试磁盘性能 https://blog.csdn.net/daiyudong2020/article/details/53157558
备份硬盘数据 http://zuyunfei.com/2015/06/04/linux-dd/

lvm使用场景
阿里云磁盘扩容文档 https://help.aliyun.com/document_detail/25452.html

硬盘大于2t如何分区
linux新增大于2T硬盘,分区并挂载 https://blog.csdn.net/u012150360/article/details/81333051

猜你喜欢

转载自blog.csdn.net/weixin_44816331/article/details/88749906
今日推荐