磁盘管理

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

lsdu查看文件的大小不同,磁盘分区格式化的时候涉及到“块”的概念,当文件小于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 ~]# 

swapswap交换空间自身的一种文件系统格式,//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 ~]# 

在挂载目录下也可以删掉挂载磁盘,用选项-llazy懒人)。

[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(逻辑分区8e2G
  • 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/fstabvi编辑

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命令

 

ddUnix/Linux下转换和复制文件的命令,名字和用法都稍显怪异,据说来源于IBMJob 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值