df命令
磁盘管理:
df命令:汇报文件系统的磁盘空间使用情况。
[root@zyshanlinux-01 ~]# man df
[root@zyshanlinux-01 ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 29140072 1073636 28066436 4% /
devtmpfs 927884 0 927884 0% /dev
tmpfs 937740 0 937740 0% /dev/shm
tmpfs 937740 8764 928976 1% /run
tmpfs 937740 0 937740 0% /sys/fs/cgroup
/dev/sda1 201380 115332 86048 58% /boot
tmpfs 187548 0 187548 0% /run/user/0
[root@zyshanlinux-01 ~]#
linux磁盘不能直接访问,必须通过挂载点才能访问磁盘。
加-h,可以根据磁盘的大小适当显示它的单位。
[root@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
[root@zyshanlinux-01 ~]#
从上面的文件系统中带tmpfs的都是临时的文件系统,在这个临时的文件系统对应的挂载点目录中写了数据,重启系统后也会自动消失的。
/dev/shm是内存,把东西写到里面是非常快的,大小是物理内存的一半。
tmpfs不用关注,重点需要关注的是/dev/sda这种。
用df看不到swap的情况,可以用free
[root@zyshanlinux-01 ~]# free
total used free shared buff/cache available
Mem: 1875480 124824 1587936 8796 162720 1575244
Swap: 2097148 0 2097148
[root@zyshanlinux-01 ~]#
df还有一个用法,加-i,它是查看该分区下有多少个inode,以及inode的使用情况。
[root@zyshanlinux-01 ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 14577152 26667 14550485 1% /
devtmpfs 231971 383 231588 1% /dev
tmpfs 234435 1 234434 1% /dev/shm
tmpfs 234435 468 233967 1% /run
tmpfs 234435 16 234419 1% /sys/fs/cgroup
/dev/sda1 102400 329 102071 1% /boot
tmpfs 234435 1 234434 1% /run/user/0
[root@zyshanlinux-01 ~]#
划分分区后格式化,格式化过程就是创建inode,格式化的时候就给你预分配好inode。
以单位M显示磁盘使用情况
[root@zyshanlinux-01 ~]# df -m
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/sda3 28458 1048 27410 4% /
devtmpfs 907 0 907 0% /dev
tmpfs 916 0 916 0% /dev/shm
tmpfs 916 9 908 1% /run
tmpfs 916 0 916 0% /sys/fs/cgroup
/dev/sda1 197 113 85 58% /boot
tmpfs 184 0 184 0% /run/user/0
[root@zyshanlinux-01 ~]#
只要inode已满%100,即使磁盘空间没满(一般%80左右),你也写不进数据了。
du命令
du命令,查看文件大小:
du后面没加单位,不清楚显示的情况。
[root@zyshanlinux-01 ~]# du /root
20 /root/.ssh
0 /root/009/008
0 /root/009/010
0 /root/009
56 /root
[root@zyshanlinux-01 ~]#
加了-s显示的就默认以K为单位的大小,56K
[root@zyshanlinux-01 ~]# du -s /root
56 /root
[root@zyshanlinux-01 ~]#
加了-sh显示单位。
[root@zyshanlinux-01 ~]# du -sh /etc/passwd
4.0K /etc/passwd
ls与du查看文件的大小不同,磁盘分区格式化的时候涉及到“块”的概念,当文件小于4K的时候也显示4K,因为磁盘会划分为多个为4K大小的小块,即使文件大小小于4K也会占用块,一个块只能有一个文件,不能多个文件占用哪个块。
[root@zyshanlinux-01 ~]# ls -lh /etc/passwd
-rw-r--r--. 1 root root 1.2K 5月 18 23:36 /etc/passwd
[root@zyshanlinux-01 ~]#
磁盘分区
磁盘分区:
给虚拟机增加一块磁盘。
在虚拟机选项卡右击,选择设置。
在硬件选项卡中选择添加硬盘,下一步。
保持默认,下一步。
下一步
磁盘大小设置为10G就可以了,下一步。
选择完成
设置完成
查看硬盘,用命令fdisk
[root@zyshanlinux-01 ~]# fdisk
用法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
选项:
-b <大小> 扇区大小(512、1024、2048或4096)
-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)
-h 打印此帮助文本
-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v 打印程序版本
-C <数字> 指定柱面数
-H <数字> 指定磁头数
-S <数字> 指定每个磁道的扇区数
[root@zyshanlinux-01 ~]#
fdisk命令加上-l选项,可以把目前系统有的磁盘给列出了。
下面黄色表示只有一块盘。
[root@zyshanlinux-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000023da
设备 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
[root@zyshanlinux-01 ~]#
要想识别到新的硬盘,需要重启,reboot。
重新输入fdisk -l可以查看到有2块磁盘了。
[root@zyshanlinux-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000023da
设备 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@zyshanlinux-01 ~]#
fdisk命令除了查看磁盘,还可以给磁盘分区,fdisk+跟磁盘的名字。
你只有划分了分区才能使用它(也可以不划分分区,整个磁盘格式化也可以。)。
[root@zyshanlinux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x5faeff7a 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system 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 增加一个新的分区。
p 列出来。
w 保存。
d 删除。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5faeff7a
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):
#没有任何分区。
#新建一个新的分区,输入n,选择分区的类型,p主分区,e扩展分区。
用fdisk划分的分区有个叫做MBR分区,这个分区最高支持2个T,超过2T,就不能用fdisk去划分分区了。而且这个分区最多支持4个分区,想划分多个,可以划分3个主分区,再划分1个扩展分区,之后在扩展分区中划分逻辑分区,逻辑分区可以无限划分。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 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):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 8390655 2097152 83 Linux
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (8390656-20971519,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-20971519,默认为 20971519):+1G
分区 3 已设置为 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
磁盘标识符:0x0a4aa2dd
设备 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
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+1G
分区 4 已设置为 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
磁盘标识符:0x0a4aa2dd
设备 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 12584959 1048576 83 Linux
命令(输入 m 获取帮助):n #已经划分了4个主分区后就不能再划分。
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
命令(输入 m 获取帮助):d #必须要删除1个主分区才能继续划分。
分区号 (1-4,默认 4):4
分区 4 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 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
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+4G
分区 4 已设置为 Extended 类型,大小设为 4 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 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
命令(输入 m 获取帮助):
#id代表分区类型,83代表主分区或逻辑分区,5是扩展分区。
继续划分。
命令(输入 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:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 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:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 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
/dev/sdb6 12589056 14686207 1048576 83 Linux
命令(输入 m 获取帮助):
删除分区:
命令(输入 m 获取帮助):d
分区号 (2-6,默认 6):5
分区 5 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a4aa2dd
设备 Boot Start End Blocks Id System
/dev/sdb2 4196352 8390655 2097152 83 Linux
/dev/sdb3 8390656 10487807 1048576 83 Linux
/dev/sdb4 10487808 18876415 4194304 5 Extended
/dev/sdb5 12589056 14686207 1048576 83 Linux
命令(输入 m 获取帮助):
#删除了一个sdb5,怎么还有一个sdb5呢?其实它们是不一样的,看看它们的start和end是不一样的,即使删除了一个逻辑分区,它的分区号是不会留空的,它必须连续,sdb4是扩展分区,sdb5是逻辑分区,原来的sdb6变为现在的sdb5。
最后输入w就是保存分区划分,输入q就是取消分区划分。
命令(输入 m 获取帮助):q
[root@zyshanlinux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xecdef672 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xecdef672
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): e
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G
分区 1 已设置为 Extended 类型,大小设为 3 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xecdef672
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 5 Extended
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): p
分区号 (2-4,默认 2):3
起始 扇区 (6293504-20971519,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+1g
不支持的后缀:“g”。
支持:10^N: KB (千字节), MB (兆字节), GB (吉字节)
2^N: K (约千字节), M (约兆字节), G (约吉字节)
Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+1G
分区 3 已设置为 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
磁盘标识符:0xecdef672
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 5 Extended
/dev/sdb3 6293504 8390655 1048576 83 Linux
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (4096-6293503,默认为 4096):
将使用默认值 4096
Last 扇区, +扇区 or +size{K,M,G} (4096-6293503,默认为 6293503):+1G
分区 5 已设置为 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
磁盘标识符:0xecdef672
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 5 Extended
/dev/sdb3 6293504 8390655 1048576 83 Linux
/dev/sdb5 4096 2101247 1048576 83 Linux
命令(输入 m 获取帮助):
划分分区并保存:
[root@zyshanlinux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x452649ea 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x452649ea
设备 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):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@zyshanlinux-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000023da
设备 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
磁盘标识符:0x452649ea
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
[root@zyshanlinux-01 ~]#
#可以看到多了一个分区。
如果不想要这个分区,继续进入划分分区里面删除;
[root@zyshanlinux-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
磁盘标识符:0x452649ea
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 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
磁盘标识符:0x452649ea
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@zyshanlinux-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000023da
设备 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
磁盘标识符:0x452649ea
设备 Boot Start End Blocks Id System
[root@zyshanlinux-01 ~]#
磁盘格式化
磁盘格式化:
Linux支持的文件系统格式有:
[root@zyshanlinux-01 ~]# cat /etc/filesystems
xfs #centos7系统默认的文件系统。
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
[root@zyshanlinux-01 ~]#
查看文件系统的类型:
[root@zyshanlinux-01 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=927884k,nr_inodes=231971,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
configfs on /sys/kernel/config type configfs (rw,relatime)
/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=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12003)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/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=187548k,mode=700)
[root@zyshanlinux-01 ~]#
swap是swap交换空间自身的一种文件系统格式,/和/boot都是xfs格式。
格式化分区:ext4格式。即使格式化过仍然可以继续格式化。
[root@zyshanlinux-01 ~]# mkfs.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: 完成
[root@zyshanlinux-01 ~]#
选用xfs格式的时候,由于之前已经选了ext4,它会提醒你必须加-f,强制格式化。
[root@zyshanlinux-01 ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@zyshanlinux-01 ~]# 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@zyshanlinux-01 ~]#
用mount命令是看不到的格式化的文件系统格式的,必须挂载后才能看,如果想看没有挂载的分区,可以使用命令blkid /dev/sdb1;
[root@zyshanlinux-01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="ce48353c-4c75-4584-9d48-0faf052c0dde" TYPE="xfs"
[root@zyshanlinux-01 ~]#
命令mkfs.ext4等价于mke2fs -t ext4。
格式化分区:命令mke2fs -t指定格式化的文件系统格式,-b则是指定块大小,-m指定预留空间,-i块对应inode号。
#高清视频音频文件就选用8192大小的块。
[root@zyshanlinux-01 ~]# mke2fs -b 8192 /dev/sdb1
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
无论如何也要继续? (y,n) n
#如果只是几KB的小文件,选用2048的块也就够了。
[root@zyshanlinux-01 ~]# mke2fs -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=538968064
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表: 完成
Writing superblocks and filesystem accounting information:
选项-m指定分区预留空间大小。(5.00%-->1.00%)小数点也可以。
[root@zyshanlinux-01 ~]# 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: 完成
[root@zyshanlinux-01 ~]#
由于上面没有指定文件系统格式,格式为ext2。
[root@zyshanlinux-01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="0eb985d0-0e8a-4b69-9b99-29a6cff2f761" TYPE="ext2"
[root@zyshanlinux-01 ~]#
#mke2fs,指定格式;
[root@zyshanlinux-01 ~]# mke2fs -t ext4 -m 0.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
786 blocks (0.10%) 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: 完成
[root@zyshanlinux-01 ~]#
#mkfs.ext4,也可以这样指定格式。
[root@zyshanlinux-01 ~]# mkfs.ext4 -m 0.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 #对应关系1:4
786 blocks (0.10%) 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: 完成
[root@zyshanlinux-01 ~]#
#选项-i指定多少个字节对应1个inode;
[root@zyshanlinux-01 ~]# 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 #对应关系1:2
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: 完成
[root@zyshanlinux-01 ~]#
磁盘挂载
挂载分区:
不管有没有分区,都可以格式化的。只有格式化才能挂载这个文件系统。
[root@zyshanlinux-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@zyshanlinux-01 ~]# blkid /dev/sdb #这个命令可以查看未挂载的分区文件系统格式。
/dev/sdb: UUID="90f143b2-49cb-4257-9e5a-c8433c67440a" TYPE="xfs"
[root@zyshanlinux-01 ~]#
Linux磁盘要想访问,必须挂载到一个挂载点(挂载点就是目录)。
挂载的命令:mount
[root@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
[root@zyshanlinux-01 ~]# mount /dev/sdb /mnt/ #挂载到/mnt/上
[root@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
[root@zyshanlinux-01 ~]#
可以用mount查看新挂载的文件系统类型:
[root@zyshanlinux-01 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=927884k,nr_inodes=231971,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
configfs on /sys/kernel/config type configfs (rw,relatime)
/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=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12003)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/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=187548k,mode=700)
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@zyshanlinux-01 ~]#
删除该挂载点:
[root@zyshanlinux-01 ~]# cd /mnt/
[root@zyshanlinux-01 mnt]# ls
[root@zyshanlinux-01 mnt]# touch 1.txt 2.txt
[root@zyshanlinux-01 mnt]# mkdir 234
[root@zyshanlinux-01 mnt]# ls
1.txt 234 2.txt
[root@zyshanlinux-01 mnt]# umount /dev/sdb
umount: /mnt:目标忙。 #因为我们正在该磁盘目录下。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@zyshanlinux-01 mnt]# pwd
/mnt
[root@zyshanlinux-01 mnt]# cd
[root@zyshanlinux-01 ~]# umount /dev/sdb
[root@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
[root@zyshanlinux-01 ~]#
在挂载目录下也可以删掉挂载磁盘,用选项-l(lazy懒人)。
[root@zyshanlinux-01 ~]# mount /dev/sdb /mnt/
[root@zyshanlinux-01 ~]# ls /mnt/
1.txt 234 2.txt
[root@zyshanlinux-01 ~]# cd /mnt/
[root@zyshanlinux-01 mnt]# umount /mnt
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@zyshanlinux-01 mnt]# umount -l /mnt/
[root@zyshanlinux-01 mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
[root@zyshanlinux-01 mnt]#
mount选项,rw可读可写,suid允许分区里面的文件设置suid权限,exec是否可以执行,auto自动挂载,nouser是否允许普通用户挂载,and async磁盘随时写。remount重新挂载。
/etc/fstab系统启动默认挂载哪些磁盘哪些分区。
[root@zyshanlinux-01 mnt]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon May 7 04:19:38 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=0da7e0a2-1f02-4338-8599-77ff027a4f3c / xfs defaults 0 0
UUID=090e2373-8bdb-4568-a85d-103d014cd153 /boot xfs defaults 0 0
UUID=fb954055-5e22-40dd-ba85-2e090e304a3c swap swap defaults 0 0
#有5项,第1项是设备名,第2项是挂载点,第3项是分区格式,第4项是挂载选项,第5项是否备份和优先级(检测磁盘有没有错误,分0、1、2级别)。
可以用UUID来代替分区号用来挂载:
[root@zyshanlinux-01 mnt]# blkid
/dev/sdb: UUID="90f143b2-49cb-4257-9e5a-c8433c67440a" TYPE="xfs"
/dev/sda1: UUID="090e2373-8bdb-4568-a85d-103d014cd153" TYPE="xfs"
/dev/sda2: UUID="fb954055-5e22-40dd-ba85-2e090e304a3c" TYPE="swap"
/dev/sda3: UUID="0da7e0a2-1f02-4338-8599-77ff027a4f3c" TYPE="xfs"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
[root@zyshanlinux-01 mnt]# mount UUID="90f143b2-49cb-4257-9e5a-c8433c67440a" /mnt/
[root@zyshanlinux-01 mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.1G 27G 4% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
[root@zyshanlinux-01 mnt]#
手动增加swap空间
创建swap空间(手动增加上去的);
[root@zyshanlinux-01 mnt]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100 #模拟一个100M的小分区,dd用来操作磁盘的可以读写磁盘,if指定从哪里去读,/dev/zero是linux内核里面的盗0器可以产生源源不断的0,of将这些0写到哪里去(写到/tmp/newdisk里去),bs=1M指定块的大小,count=100(1×100=100M)。这个过程快慢与虚拟机的磁盘读写速度有关。
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,1.40717 秒,74.5 MB/秒
[root@zyshanlinux-01 mnt]# du -sh /tmp/newdisk #确认是100M
100M /tmp/newdisk
[root@zyshanlinux-01 mnt]# mkswap -f /tmp/newdisk #swap特有的格式化命令,需要加-f选项。
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=4309df3a-0d31-4ab2-b17d-2614241d57ed
[root@zyshanlinux-01 mnt]# free -m
total used free shared buff/cache available
Mem: 1831 123 1442 8 265 1532
Swap: 2047 0 2047
[root@zyshanlinux-01 mnt]# swapon /tmp/newdisk #把这个100M的swap空间加载到现在的swap上去。
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@zyshanlinux-01 mnt]# free -m #虽然不安全,仍然加载。
total used free shared buff/cache available
Mem: 1831 122 1443 8 265 1532
Swap: 2147 0 2147
[root@zyshanlinux-01 mnt]# chmod 0600 /tmp/newdisk #为了安全起见,改一下权限。
[root@zyshanlinux-01 mnt]# swapoff /tmp/newdisk #不想要了,卸载。
[root@zyshanlinux-01 mnt]# free -m
total used free shared buff/cache available
Mem: 1831 122 1443 8 265 1532
Swap: 2047 0 2047
[root@zyshanlinux-01 mnt]#
LVM讲解
LVM有局限性,虽然LVM很容易扩容和缩容你的磁盘空间,由于磁盘使用了LVM,文件系统发生了损害数据找不到了,硬盘划分了物理分区,物理分区上有划分了LVM,这个LVM软件恢复起来很麻烦,毕竟LVM是一个软件是有风险的。

实战:
准备分区:
fdisk /dev/sdb
n创建三个新分区,分别1G
t改变分区类型为8e(代表LVM)
[root@zyshanlinux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x4c039563 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4c039563
设备 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
磁盘标识符:0x4c039563
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
命令(输入 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
磁盘标识符:0x4c039563
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (2099200-20971519,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-20971519,默认为 20971519):+1G
分区 2 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):
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
磁盘标识符:0x4c039563
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):
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
磁盘标识符:0x4c039563
设备 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
可以用命令fdisk -l查看一下文件系统类型。
[root@zyshanlinux-01 ~]# fdisk -l
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000023da
设备 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
磁盘标识符:0x4c039563
设备 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
[root@zyshanlinux-01 ~]#
准备好磁盘后,创建物理卷。
用命令把3个分区全部搞成物理卷;
pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3
用这个pvcreate命令前需要安装LVM这个包。
[root@zyshanlinux-01 ~]# yum install -y lvm
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): extras/7/x86_64/primary_db | 143 kB 00:00:00
(2/2): updates/7/x86_64/primary_db | 1.2 MB 00:00:01
Determining fastest mirrors
* base: mirrors.163.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.163.com
没有可用软件包 lvm。
错误:无须任何处理
要安装一个包,但忘记这个包的名字了,你只记住这个命令,你可以搜索这个命令,用yum provides “/*/pvcreate”这个命令。
由于路径把握不对,所以只能用这种通配的方法。
[root@zyshanlinux-01 ~]# yum provides "/*/pvcreate
> ^C
[root@zyshanlinux-01 ~]# yum provides "/*/pvcreate"
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.163.com
base/7/x86_64/filelists_db | 6.9 MB 00:00:03
extras/7/x86_64/filelists_db | 517 kB 00:00:00
updates/7/x86_64/filelists_db | 875 kB 00:00:01
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
[root@zyshanlinux-01 ~]#
从上面可以看出这个包叫做:lvm2
安装命令:
[root@zyshanlinux-01 ~]# yum install -y lvm2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 lvm2.x86_64.7.2.02.177-4.el7 将被 安装
--> 正在处理依赖关系 lvm2-libs = 7:2.02.177-4.el7,它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在处理依赖关系 device-mapper-persistent-data >= 0.7.0-0.1.rc6,它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在处理依赖关系 liblvm2app.so.2.2(Base)(64bit),它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在处理依赖关系 libdevmapper.so.1.02(DM_1_02_141)(64bit),它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在处理依赖关系 libdevmapper-event.so.1.02(Base)(64bit),它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在处理依赖关系 liblvm2app.so.2.2()(64bit),它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在处理依赖关系 libdevmapper-event.so.1.02()(64bit),它被软件包 7:lvm2-2.02.177-4.el7.x86_64 需要
--> 正在检查事务
---> 软件包 device-mapper-event-libs.x86_64.7.1.02.146-4.el7 将被 安装
---> 软件包 device-mapper-libs.x86_64.7.1.02.140-8.el7 将被 升级
--> 正在处理依赖关系 device-mapper-libs = 7:1.02.140-8.el7,它被软件包 7:device-mapper-1.02.140-8.el7.x86_64 需要
---> 软件包 device-mapper-libs.x86_64.7.1.02.146-4.el7 将被 更新
---> 软件包 device-mapper-persistent-data.x86_64.0.0.7.3-3.el7 将被 安装
--> 正在处理依赖关系 libaio.so.1(LIBAIO_0.4)(64bit),它被软件包 device-mapper-persistent-data-0.7.3-3.el7.x86_64 需要
--> 正在处理依赖关系 libaio.so.1(LIBAIO_0.1)(64bit),它被软件包 device-mapper-persistent-data-0.7.3-3.el7.x86_64 需要
--> 正在处理依赖关系 libaio.so.1()(64bit),它被软件包 device-mapper-persistent-data-0.7.3-3.el7.x86_64 需要
---> 软件包 lvm2-libs.x86_64.7.2.02.177-4.el7 将被 安装
--> 正在处理依赖关系 device-mapper-event = 7:1.02.146-4.el7,它被软件包 7:lvm2-libs-2.02.177-4.el7.x86_64 需要
--> 正在检查事务
---> 软件包 device-mapper.x86_64.7.1.02.140-8.el7 将被 升级
---> 软件包 device-mapper.x86_64.7.1.02.146-4.el7 将被 更新
---> 软件包 device-mapper-event.x86_64.7.1.02.146-4.el7 将被 安装
---> 软件包 libaio.x86_64.0.0.3.109-13.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==========================================================================================================
Package 架构 版本 源 大小
==========================================================================================================
正在安装:
lvm2 x86_64 7:2.02.177-4.el7 base 1.3 M
为依赖而安装:
device-mapper-event x86_64 7:1.02.146-4.el7 base 185 k
device-mapper-event-libs x86_64 7:1.02.146-4.el7 base 184 k
device-mapper-persistent-data x86_64 0.7.3-3.el7 base 405 k
libaio x86_64 0.3.109-13.el7 base 24 k
lvm2-libs x86_64 7:2.02.177-4.el7 base 1.0 M
为依赖而更新:
device-mapper x86_64 7:1.02.146-4.el7 base 289 k
device-mapper-libs x86_64 7:1.02.146-4.el7 base 316 k
事务概要
==========================================================================================================
安装 1 软件包 (+5 依赖软件包)
升级 ( 2 依赖软件包)
总下载量:3.7 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/8): device-mapper-event-1.02.146-4.el7.x86_64.rpm | 185 kB 00:00:03
(2/8): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00
(3/8): device-mapper-event-libs-1.02.146-4.el7.x86_64.rpm | 184 kB 00:00:04
(4/8): device-mapper-1.02.146-4.el7.x86_64.rpm | 289 kB 00:00:05
(5/8): device-mapper-persistent-data-0.7.3-3.el7.x86_64.rpm | 405 kB 00:00:10
(6/8): device-mapper-libs-1.02.146-4.el7.x86_64.rpm | 316 kB 00:00:10
(7/8): lvm2-2.02.177-4.el7.x86_64.rpm | 1.3 MB 00:00:13
(8/8): lvm2-libs-2.02.177-4.el7.x86_64.rpm | 1.0 MB 00:00:16
----------------------------------------------------------------------------------------------------------
总计 176 kB/s | 3.7 MB 00:00:21
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 7:device-mapper-libs-1.02.146-4.el7.x86_64 1/10
正在更新 : 7:device-mapper-1.02.146-4.el7.x86_64 2/10
正在安装 : 7:device-mapper-event-libs-1.02.146-4.el7.x86_64 3/10
正在安装 : 7:device-mapper-event-1.02.146-4.el7.x86_64 4/10
正在安装 : 7:lvm2-libs-2.02.177-4.el7.x86_64 5/10
正在安装 : libaio-0.3.109-13.el7.x86_64 6/10
正在安装 : device-mapper-persistent-data-0.7.3-3.el7.x86_64 7/10
正在安装 : 7:lvm2-2.02.177-4.el7.x86_64 8/10
Created symlink from /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket to /usr/lib/systemd/system/lvm2-lvmpolld.socket.
清理 : 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/10
清理 : 7:device-mapper-1.02.140-8.el7.x86_64 10/10
验证中 : device-mapper-persistent-data-0.7.3-3.el7.x86_64 1/10
验证中 : libaio-0.3.109-13.el7.x86_64 2/10
验证中 : 7:device-mapper-1.02.146-4.el7.x86_64 3/10
验证中 : 7:device-mapper-event-1.02.146-4.el7.x86_64 4/10
验证中 : 7:device-mapper-event-libs-1.02.146-4.el7.x86_64 5/10
验证中 : 7:lvm2-libs-2.02.177-4.el7.x86_64 6/10
验证中 : 7:lvm2-2.02.177-4.el7.x86_64 7/10
验证中 : 7:device-mapper-libs-1.02.146-4.el7.x86_64 8/10
验证中 : 7:device-mapper-1.02.140-8.el7.x86_64 9/10
验证中 : 7:device-mapper-libs-1.02.140-8.el7.x86_64 10/10
已安装:
lvm2.x86_64 7:2.02.177-4.el7
作为依赖被安装:
device-mapper-event.x86_64 7:1.02.146-4.el7 device-mapper-event-libs.x86_64 7:1.02.146-4.el7
device-mapper-persistent-data.x86_64 0:0.7.3-3.el7 libaio.x86_64 0:0.3.109-13.el7
lvm2-libs.x86_64 7:2.02.177-4.el7
作为依赖被升级:
device-mapper.x86_64 7:1.02.146-4.el7 device-mapper-libs.x86_64 7:1.02.146-4.el7
完毕!
[root@zyshanlinux-01 ~]#
意外情况:
sdb有三个分区,但是实际上系统里面这个文件还不存在,需要运行一个命令partprobe,一般情况下创建完成分区后会自动生成该文件有时候也会不生成。只要运行命令partprobe就会自动生成/dev/sdb1这个文件了。

如果/dev/sdb还是挂载状态也会报警。

正常情况下/dev/sdb1这个文件是已经创建的,如下所示。
[root@zyshanlinux-01 ~]# pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: n
Aborted wiping of ext4.
1 existing signature left on the device.
[root@zyshanlinux-01 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4c039563
设备 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
[root@zyshanlinux-01 ~]# ls /dev/sdb1
/dev/sdb1
[root@zyshanlinux-01 ~]#
前期工作做好,就可以开始创建这个物理卷了:
[root@zyshanlinux-01 ~]# pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
[root@zyshanlinux-01 ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@zyshanlinux-01 ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
[root@zyshanlinux-01 ~]#
物理卷创建完成,可以用命令pvdisplay查看所有的物理卷信息。
[root@zyshanlinux-01 ~]# pvdisplay
"/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 6EtWfd-bjkd-AMTu-t9x6-V9Z5-rbYG-a6kZMf
"/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 hSOak3-ExLD-zndb-Le5Y-X7Xe-tWxq-2U2Mcl
"/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 h1eW5j-KYIY-T3TY-3piZ-sz33-atpu-ytdTe9
[root@zyshanlinux-01 ~]#
查看当前的物理卷还有另外一个命令:pvs
[root@zyshanlinux-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
[root@zyshanlinux-01 ~]#
有了物理卷后,开始创建卷组:
可以用2个物理卷创建卷组:
[root@zyshanlinux-01 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
Volume group "vg1" successfully created
可以用命令vgdisplay查看当前卷组的信息。
[root@zyshanlinux-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 4W0LzC-Kkzh-u749-CK0L-WCaq-sUVc-0h2A0M
[root@zyshanlinux-01 ~]#
也可以用命令vgs查看卷组。
[root@zyshanlinux-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 1.99g 1.99g
[root@zyshanlinux-01 ~]#
命令:vgremove删除卷组的命令。
有了卷组后,就可以创建逻辑卷了:
[root@zyshanlinux-01 ~]# lvcreate -L 100M -n lv1 vg1
Logical volume "lv1" created.
[root@zyshanlinux-01 ~]#
格式化ext4格式,也可以xfs但会对后面的扩容缩容操作会有影响:
[root@zyshanlinux-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: 完成
[root@zyshanlinux-01 ~]#
挂载:
[root@zyshanlinux-01 ~]# mount /dev/vg1/lv1 /mnt/
[root@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.2G 27G 5% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
[root@zyshanlinux-01 ~]#
为什么名字改变了呢?其实它们都是指向同一个文件。
[root@zyshanlinux-01 ~]# ls -l /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 5月 21 22:29 /dev/vg1/lv1 -> ../dm-0
[root@zyshanlinux-01 ~]# ls -l /dev/mapper/vg1-lv1
lrwxrwxrwx. 1 root root 7 5月 21 22:29 /dev/mapper/vg1-lv1 -> ../dm-0
[root@zyshanlinux-01 ~]#
[root@zyshanlinux-01 ~]# mkdir /mnt/1212 #创建目录
touch[root@zyshanlinux-01 ~]# touch /mnt/23.txt #创建文件
[root@zyshanlinux-01 ~]# echo "11111111111" > /mnt/23.txt #在文件中写入数据。
[root@zyshanlinux-01 ~]#
扩容逻辑卷(ext4):
扩容逻辑卷(ext4):
Lvresize -L 300M /dev/vg1/lv1 重新设置卷大小
[root@zyshanlinux-01 ~]# umount /mnt/ #卸载挂载点
[root@zyshanlinux-01 ~]# lvresize -L 200M /dev/vg1/lv1
New size (50 extents) matches existing size (50 extents).
e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext4执行)
[root@zyshanlinux-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
[root@zyshanlinux-01 ~]#
Resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行)
[root@zyshanlinux-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.
[root@zyshanlinux-01 ~]# !mount #挂载
mount /dev/vg1/lv1 /mnt/
[root@zyshanlinux-01 ~]# df -h #/dev/mapper/vg1-lv1由原来的93M变为190M。
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.2G 27G 5% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /mnt
[root@zyshanlinux-01 ~]#
[root@zyshanlinux-01 ~]# ls /mnt/ #可以看磁盘里面的数据仍然存在
1212 23.txt lost+found
[root@zyshanlinux-01 ~]# cat /mnt/23.txt
11111111111
[root@zyshanlinux-01 ~]#
Xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行
[root@zyshanlinux-01 ~]# umount /mnt/ #卸载磁盘
[root@zyshanlinux-01 ~]# mkfs.xfs -f /dev/vg1/lv1 #格式化为xfs格式
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@zyshanlinux-01 ~]# !mount #挂载磁盘
mount /dev/vg1/lv1 /mnt/
[root@zyshanlinux-01 ~]# ls /mnt/
[root@zyshanlinux-01 ~]# touch /mnt/233.txt #在磁盘上写入数据实验用
[root@zyshanlinux-01 ~]# echo "aaaa" > !$
echo "aaaa" > /mnt/233.txt
[root@zyshanlinux-01 ~]# cat !$
cat /mnt/233.txt
aaaa
[root@zyshanlinux-01 ~]# lvs #查看磁盘命令
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 100.00m
[root@zyshanlinux-01 ~]# 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@zyshanlinux-01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 300.00m
[root@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.2G 27G 5% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg1-lv1 97M 5.2M 92M 6% /mnt
[root@zyshanlinux-01 ~]# xfs_growfs /dev/vg1/lv1 #xfs文件系统需要执行
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@zyshanlinux-01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 1.2G 27G 5% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg1-lv1 297M 5.5M 292M 2% /mnt
[root@zyshanlinux-01 ~]#
完成xfs格式的扩容。
缩减逻辑卷(xfs不支持)
先umount
[root@zyshanlinux-01 ~]# umount /mnt/
e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext)
[root@zyshanlinux-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
resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)
[root@zyshanlinux-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.
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
[root@zyshanlinux-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@zyshanlinux-01 ~]# lvdisplay #查看逻辑卷的大小变小了
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID UKujtU-2Umg-BtP8-DnIh-5EWj-ibUe-KBsIwV
LV Write Access read/write
LV Creation host, time zyshanlinux-01, 2018-05-21 22:28:11 +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@zyshanlinux-01 ~]# lvs #另一种查看方式
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 100.00m
[root@zyshanlinux-01 ~]# !mount #挂载
mount /dev/vg1/lv1 /mnt/
[root@zyshanlinux-01 ~]# ls /mnt/ #并不会由于缩容导致数据丢失,除非是文件超过100M你又缩容到100M就会出现问题。
1212 23.txt lost+found
[root@zyshanlinux-01 ~]#
扩展卷组:
- fdisk /dev/sdb 新增/dev/sdb3(逻辑分区8e)2G
- pvcreate /dev/sdb3 #创建物理卷
- vgextend vg1 /dev/sdb3 #先扩容卷组
- lvresize -L 100M /dev/vg1/lv1重新设置卷大小 #在扩容逻辑卷
[root@zyshanlinux-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 1.99g <1.70g
[root@zyshanlinux-01 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4c039563
设备 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
[root@zyshanlinux-01 ~]# vgextend vg1 /dev/sdb3 #扩容卷组
Volume group "vg1" successfully extended
[root@zyshanlinux-01 ~]# 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 4W0LzC-Kkzh-u749-CK0L-WCaq-sUVc-0h2A0M
[root@zyshanlinux-01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- <2.99g <2.70g
[root@zyshanlinux-01 ~]#
磁盘故障小案例
磁盘故障;
如果在/etc/fstab里面写入一行配置,用分区号代替设备号那行。重启后会出现。

输入密码进入系统,输入systemctl default查找问题。
由于知道原因,可以直接进入/etc/fstab用vi编辑
vi /etc/fstab
把最后一行删除。
以后服务器遇到类似的问题,是磁盘挂载出现问题,不能正常挂载到挂载点
拓展知识:
parted分区GPT格式
fdisk分区工具,它的分区格式为MBR,特点是,最多分4个主分区,磁盘大小不能超过2T
GPT分区格式,突破了这些限制,它没有主分区、扩展分区、逻辑分区之分,在一块磁盘上最多可以分128个分区出来,支持大于2T的分区,最大卷可达18EB
parted分区功能示例:
1、用命令模式 为/dev/sdb创建gpt类型文件分区表,并分500G分区。然后为该分区创建ext3文件系统。并将该分区挂载在/test文件夹下。
# parted /dev/sdb mklabel gpt //创建分区表
# parted /dev/sdb mkpart ext3 0 500000 //创建500G分区/dev/sdb1
# mkfs.ext3 /dev/sdb1 //将分区/dev/sdb1格式化成ext3格式文件系统
# mount /dev/sdb1 /test //将/dev/sdb1 挂载在/test下
如果让系统自动挂载/dev/sdb1 需手工编辑/etc/fstab文件。并在文件末尾添加如下内容:
/dev/sdb1 /test ext3 defaults 0 0
2、创建大小为4G的交互分区。由于已经创建了500G的/dev/sdb1 ,因此再创建的分区为/dev/sdb2
# parted /dev/sdb mkpart swap 500000 504000 //创建4G分区/dev/sdb2
# mkswap /dev/sdb2 //将/dev/sdb2创建为交换分区
# swapon /dev/sdb2 //激活/dev/sdb2
如果让系统自动挂载/dev/sdb2这个交换分区,需手工编辑/etc/fstab文件。并在文件末尾添加如下内容:
/dev/sdb2 swap swap defaults 0 0
3、恢复被误删除的分区(也可以参考testdisk命令)。由于parted直接写磁盘,因此一旦不小心删除了某一分区,建议立即用rescue恢复。下面通过事例来理解恢复过程。
# parted /dev/sdb mkpart ext3 504000 514000 //创建10G分区/dev/sdb3
# mkfs.ext3 /dev/sdb3 //将/dev/sdb3格式化成ext3文件系统。
# parted /dev/sdb rm 3 //删除/dev/sdb3
# parted /dev/sdb rescue 504000 514000 //依照屏幕提示,输入yes即可恢复被误删除分区
参考网址:
http://ask.apelearn.com/question/7243
Linux下使用dd命令备份硬盘
dd命令
dd是Unix/Linux下转换和复制文件的命令,名字和用法都稍显怪异,据说来源于IBM的Job Control Language,意为Data Description。
dd命令秉承Unix哲学,专注文件复制和以及复制过程中的格式转换。但是类Unix操作系统下,万物皆文件,dd命令可以像对待普通文件一样,操作硬件的设备驱动和特殊设备文件等资源,这就赋予了dd命令各种不同的用途:驱动器性能测试,数据恢复,磁盘擦除,修复引导记录……
使用dd命令测试磁盘读写性能
3 dd工具使用场景
1)测试磁盘性能 https://blog.youkuaiyun.com/zqtsx/article/details/25487185
2)备份硬盘数据 http://zuyunfei.com/2015/06/04/linux-dd/
raid讲解
它的目的是将好几个硬盘合并在一起,就算硬盘坏了一个,剩下还有好几个硬盘是正常的,这样服务器才不会挂掉。
RAID分为0~6级,另外还有RAID 1+0,简称RAID 10。下面分别介绍这几种RAID实现原理。
常用的是1级、1+0级、5级、6级
同时做好数据的备份策略
参考网址:
https://blog.youkuaiyun.com/caipeichao2/article/details/52661825
lvm的使用场景介绍
随着业务的增长,您的数据盘容量可能无法满足数据存储的需要,这时您可以使用 磁盘扩容 功能扩容数据盘。
阿里云磁盘扩容文档参考网址:
https://help.aliyun.com/document_detail/25452.html
磁盘有坏道的修复 fsck/e2fsck -a 分区名
参考网址:
https://www.2cto.com/os/201204/126370.html
存储的知识
存储的含义
存储与服务器的连接方式对比(DAS,NAS,SAN)
参考网址:
http://forum.huawei.com/enterprise/zh/thread-274145-1-1.html
https://blog.youkuaiyun.com/JesseYoung/article/details/38367217