Linux磁盘管理

Linux磁盘管理

df命令

df命令: 报告文件系统磁盘空间的使用情况。

用法: df...[选项]

常用参数:

-h:以易读的方式显示单位
-m:以指定块大小等于1MB显示磁盘使用情况
-i:显示inode的使用情况

例子: 1、使用df命令查看分区使用情况

[root@test1 ~]# df                                          /*df不加任何参数默认以k为单位
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      18745344 1279656 17465688    7% /
devtmpfs         490160       0   490160    0% /dev
tmpfs            499968       0   499968    0% /dev/shm
tmpfs            499968   13064   486904    3% /run
tmpfs            499968       0   499968    0% /sys/fs/cgroup
/dev/sda1        211620  111924    99696   53% /boot
tmpfs             99996       0    99996    0% /run/user/0

2、使用df命令以易读的方式查看分区使用情况

[root@test1 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.3G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M   13M  476M    3% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       207M  110M   98M   53% /boot
tmpfs            98M     0   98M    0% /run/user/0

3、使用df命令以1M为单位显示分区使用情况

[root@test1 ~]# df -m 
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda3      18306  1250 17057    7% /
devtmpfs         479     0   479    0% /dev
tmpfs            489     0   489    0% /dev/shm
tmpfs            489    13   476    3% /run
tmpfs            489     0   489    0% /sys/fs/cgroup
/dev/sda1        207   110    98   53% /boot
tmpfs             98     0    98    0% /run/user/0

4、使用df命令查看inode使用情况

[root@test1 ~]# df -i 
文件系统         Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3      9377792   32439 9345353       1% /
devtmpfs        122540     371  122169       1% /dev
tmpfs           124992       1  124991       1% /dev/shm
tmpfs           124992     445  124547       1% /run
tmpfs           124992      16  124976       1% /sys/fs/cgroup
/dev/sda1       107520     330  107190       1% /boot
tmpfs           124992       1  124991       1% /run/user/0
[root@test1 ~]# df -ih
文件系统       Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3       9.0M     32K    9.0M       1% /
devtmpfs        120K     371    120K       1% /dev
tmpfs           123K       1    123K       1% /dev/shm
tmpfs           123K     445    122K       1% /run
tmpfs           123K      16    123K       1% /sys/fs/cgroup
/dev/sda1       105K     330    105K       1% /boot
tmpfs           123K       1    123K       1% /run/user/0

du命令

du命令: 显示磁盘空间、目录、文件的大小

用法: du...[选项]...[文件]

常用参数:

-s:当du一个目录时只显示该目录的总大小、而不单一显示每个文件的大小
-h:以易读的方式显示单位
-a:显示所有文件的大小、而不只是包含子目录

例子: 1、使用du命令查看/root/下所有文件的大小、并以易读的方式显示单位。

[root@test1 ~]# du  -ah /root
4.0K	/root/.bash_logout
4.0K	/root/.bash_profile
4.0K	/root/.bashrc
4.0K	/root/.cshrc
4.0K	/root/.tcshrc
4.0K	/root/anaconda-ks.cfg
12K	/root/.bash_history
4.0K	/root/.ssh/authorized_keys
4.0K	/root/.ssh/known_hosts
4.0K	/root/.ssh/id_rsa
4.0K	/root/.ssh/id_rsa.pub
16K	/root/.ssh
12K	/root/teamlink_linux_3.3.1/GNLanCtl
4.0K	/root/teamlink_linux_3.3.1/Readme.txt
3.5M	/root/teamlink_linux_3.3.1/gnLan_64
1.1M	/root/teamlink_linux_3.3.1/gnLan
4.7M	/root/teamlink_linux_3.3.1
4.0K	/root/.lesshst
4.0K	/root/.viminfo
4.7M	/root

2、使用du命令显示/root/目录的大小、并以易读的方式显示单位。

[root@test1 ~]# du -sh /root/                       /*加上-s参数后就只显示所指定的目录的总大小
4.7M	/root/

3、使用du命令显示/root/目录及其子文件的大小、并以易读的方式显示单位。

[root@test1 ~]# du -h /root                         /*不加-s参数就会显示目录及其目录下的子目录文件的大小
16K	/root/.ssh
4.7M	/root/teamlink_linux_3.3.1
4.7M	/root

磁盘分区相关命令

fdisk命令(MBR)

fdisk命令: 磁盘分区命令。

用法: fdisk...[选项]...[指定磁盘]

常用参数:

-l:列出指定磁盘设备的分区表信息

例子: 1、列出现有磁盘的分区信息及磁盘信息

[root@test1 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区       /*这里是第一块磁盘
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos                                               /*分区表类型 dos为mbr guid为GPT
磁盘标识符:0x000b769b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      432127      215040   83  Linux                   /*磁盘1分区1
/dev/sda2          432128     4431871     1999872   82  Linux swap / Solaris    /*磁盘1分区2
/dev/sda3         4431872    41943039    18755584   83  Linux                   /*磁盘1分区3

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区        /*这里是第二块磁盘
Units = 扇区 of 1 * 512 = 512 bytes                             /*磁盘2没有任何分区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

2、fdisk详解

[root@test1 ~]# fdisk /dev/sdb                          /*使用fdisk命令对磁盘2进行编辑
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

命令(输入 m 获取帮助):m                                /*键入m获取菜单信息
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                               /*d 删除一个分区
   g   create a new empty GPT partition table           /*g 创建一个新的GPT分区表
   G   create an IRIX (SGI) partition table
   l   list known partition types                       /*l 列出所有的分区类型
   m   print this menu                                  /*m 打印主菜单
   n   add a new partition                              /*n 建立一个新的分区
   o   create a new empty DOS partition table           /*o 创建一个新的MBR分区表
   p   print the partition table                        /*p 打印分区表信息
   q   quit without saving changes                      /*q 退出fdisk且不保存
   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                     /*w 保存并退出
   x   extra functionality (experts only)
命令(输入 m 获取帮助):n                                /*新建一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)          /*p为主分区
   e   extended                                         /*e为扩展分区
Select (default p): p                                   /*选择新建一个主分区
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1G               /*大小为1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):p                                /*打印分区表信息

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x35cacb85

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux   /*已经新建了一个主分区
命令(输入 m 获取帮助):n                                        /*新建一个分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e                                           /*新建一个扩展分区
分区号 (2-4,默认 2):2
起始 扇区 (2099200-10485759,默认为 2099200):                  
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-10485759,默认为 10485759):
将使用默认值 10485759
分区 2 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)                                /*必须先建立扩展分区才能建立逻辑分区
Select (default p): l
添加逻辑分区 5
起始 扇区 (2101248-10485759,默认为 2101248):
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-10485759,默认为 10485759):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

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

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x35cacb85

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200    10485759     4193280    5  Extended
/dev/sdb5         2101248     4198399     1048576   83  Linux               /*扩展分区号以5开始
命令(输入 m 获取帮助):w                                        /*保存分区信息并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@test1 ~]# fdisk -l

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      432127      215040   83  Linux
/dev/sda2          432128     4431871     1999872   82  Linux swap / Solaris
/dev/sda3         4431872    41943039    18755584   83  Linux

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x35cacb85
                                                                
   设备 Boot      Start         End      Blocks   Id  System    /*磁盘2有了新的分区
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200    10485759     4193280    5  Extended
/dev/sdb5         2101248     4198399     1048576   83  Linux

parted命令(GPT)

parted命令: 磁盘分区工具。

用法: parted...[目标磁盘]

parted用法详解:

[root@test1 ~]# parted /dev/sdb                 /*使用parted工具对/dev/sdb进行分区
GNU Parted 3.1                                  /*如果parted命令后不跟分区则默认为/dev/sda
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help                                   /*输入help获取帮助信息         
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all
        found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted) print                              /*输入paint查看现有分区                                               
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos                      /*当前为MBR分区
Disk Flags: 

Number  Start   End     Size    Type      File system  标志
 1      1049kB  1075MB  1074MB  primary     /*分区标识号为1
 2      1075MB  5369MB  4294MB  extended    /*分区标识号为2
 5      1076MB  2150MB  1074MB  logical     /*分区标识号为5
(parted) rm 5                               /*使用rm命令删除标识号为5的分区                                   
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system  标志
 1      1049kB  1075MB  1074MB  primary
 2      1075MB  5369MB  4294MB  extended

(parted) rm 1                                                             
(parted) rm 2
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End  Size  Type  File system  标志   /*删除了刚刚有的所有分区
(parted) mklabel                                    /*使用mklable建立新的分区类型                                              
新的磁盘标签类型? gpt                              /*这里填gpt
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want
to continue?
是/Yes/否/No? yes                                                         
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt                                /*重新查看分区信息 现在分区表类型为gpt了
Disk Flags: 

Number  Start  End  Size  File system  Name  标志
(parted) mkpart                                    /*使用mkpart命令建立新的分区                       
分区名称?  []? test                                                      
文件系统类型?  [ext2]?                                                   
起始点? 1                                                                
结束点? 1G                                                               
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size   File system  Name  标志
 1      1049kB  1000MB  999MB               test
(parted) quit                                       /*退出parted分区工具
[root@test1 ~]# fdisk -l /dev/sdb                   /*使用fdisk -l查看/dev/sdb磁盘
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt                                   /*这里是GPT


#         Start          End    Size  Type            Name
 1         2048      1953791    953M  Microsoft basic test      /*这里就是刚刚使用parted建立的新分区

磁盘格式化相关命令

blkid(查看分区类型)

blkid: 用于查看目标分区的文件系统类型(就算该分区没有挂载也能查看)

例子:

[root@test1 ~]# blkid                   /*使用该命令不加任何参数默认查看所有分区
/dev/sda1: UUID="dc0af3e1-60ae-4882-8095-00e49d55dc43" TYPE="xfs" 
/dev/sda2: UUID="9f76cdc3-d12f-455a-b4e0-f3e68f47ed95" TYPE="swap" 
/dev/sda3: UUID="6559445d-1024-4844-8081-493ab99d9184" TYPE="xfs" 
/dev/sdb1: PARTLABEL="test" PARTUUID="63031608-c3a8-4392-9493-0dbd5ee94534" 

mke2fs命令(ext)

mke2fs命令: 建立Linux系统使用的ext系统,不支持格式化为xfs文件系统。

用法: mke2fs...[选项]...[磁盘分区]

常用参数:

-t:指定格式化的分区类型
-m:指定给root用户的预留空间(默认为5%)
-i:指定每个inode的字节数(默认一个inode对应16个字节的大小)

例子: 1、使用mke2fs命令格式化分区为ext4文件系统。

[root@test1 ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61056 inodes, 243968 blocks
12198 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
7632 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@test1 ~]# blkid /dev/sdb1 
/dev/sdb1: UUID="10bc2ca2-0e33-4c2f-8f8e-0d0f82fcf375" TYPE="ext4" PARTLABEL="test" PARTUUID="63031608-c3a8-4392-9493-0dbd5ee94534" 

2、使用mke2fs命令格式化目标分区、并指定预留给root用户的空间为1%。

[root@test1 ~]# blkid /dev/sdb1 
/dev/sdb1: UUID="10bc2ca2-0e33-4c2f-8f8e-0d0f82fcf375" TYPE="ext4" PARTLABEL="test" PARTUUID="63031608-c3a8-4392-9493-0dbd5ee94534" 
[root@test1 ~]# mke2fs -t ext4 -m 1/dev/sdb1
mke2fs: invalid reserved blocks percent - 1/dev/sdb1
[root@test1 ~]# mke2fs -t ext4 -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
61056 inodes, 243968 blocks
2439 blocks (1.00%) reserved for the super user             /*这一行显示的就是预留给root用户的空间
第一个数据块=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
7632 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

3、使用mke2fs命令格式化分区,并设置1个inode对应1个字节。

[root@test1 ~]# mke2fs -t ext4 -i 4096 /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
243968 inodes, 243968 blocks                        /*-i 设置成4096后差不多一个inode对应一个块
12198 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
30496 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

补充: 同样可以使用mkfs.ext4格式化目标分区

  • mke2fs -f ext4 = mkfs.ext4
  • mke2fs -f ext3 = mkfs.ext3
  • mke2fs -f ext2 = mkfs.ext2

mkfs.xfs命令(xfs)

mkfs.xfs命令: 用于将目标分区格式化为xfs文件系统

用法: mkfs.xfs...[选项]...[目标分区]

例子: 1、使用mkfs.xfs将目标分区格式化为xfs文件系统

[root@test1 ~]# mkfs.xfs /dev/sdb1          /*使用mkfs.xfs命令不加-f参数是无法格式化的
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@test1 ~]# mkfs.xfs -f /dev/sdb1 
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=60992 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=243968, 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@test1 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="e08cce1b-9def-473b-a061-629618cdfd1e" TYPE="xfs" PARTLABEL="test" PARTUUID="63031608-c3a8-4392-9493-0dbd5ee94534" 

磁盘挂载

磁盘挂载: linux系统不同于windows、所有的分区都是目录、当要访问一个分区时需要将这个分区挂载才能正确访问。

mount命令

mount命令: 挂载指定的文件系统。

用法: mount...[选项]...[设备名]...[挂载点]

常用参数: 使用mount命令如果不加任何参数则默认使用defaults选项 详细信息如下

defaults:
              Use default options: rw, suid, dev, exec, auto, nouser, and async
                                    |   |           |     |     |           |__磁盘信息不会随时同步到磁盘
                                    |   |           |     |     |__普通用户不能挂载
                                    |   |           |     |__自动挂载
                                    |   |           |__可执行
                                    |   |__允许挂载点里的内容使用suid
                                    |__可读可写
-r:以只读的方式挂载目标磁盘
-o ro:以只读的方式挂载目标磁盘
-o rw:以可读可写的方式挂载目标磁盘
-o remount:重新挂载设备

例子: 1、以只读的方式挂载/dev/sdb1到/mount下

[root@test1 /]# mount -o ro /dev/sdb1 /mount/
[root@test1 /]# cd /mount/
[root@test1 mount]# touch 1
touch: 无法创建"1": 只读文件系统    
[root@test1 mount]# umount -l /mount/                   /*umount命令可卸载挂载的设备
[root@test1 mount]# mount -r /dev/sdb1 /mount/          /*-r与-o ro都是以只读的方式挂载
[root@test1 mount]# touch 1
touch: 无法创建"1": 只读文件系统

2、以可读可写的方式挂载/dev/sdb1到 /mount/下、并重新挂载

[root@test1 ~]# mount -o rw /dev/sdb1 /mount/
[root@test1 ~]# cd /mount/
[root@test1 mount]# touch 1
[root@test1 mount]# ll
总用量 0
-rw-r--r-- 1 root root 0 11月  8 02:50 1
[root@test1 mount]# mount -o remount /dev/sdb1 /mount/

umount命令

umount命令: 用于卸载已经挂载了的设备。

常用参数:

-l:强制卸载目标设备

例子: 1、卸载目标设备

[root@test1 mount]# cd /mount/
[root@test1 mount]# pwd
/mount
[root@test1 mount]# umount /mount/                  /*由于用户root在/mount/目录下 无法直接卸载
umount: /mount:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@test1 mount]# umount -l /mount/               /*加上-l参数后可强制卸载
[root@test1 mount]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.3G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M   13M  476M    3% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       207M  110M   98M   53% /boot
tmpfs            98M     0   98M    0% /run/user/0

/etc/fstab文件

fstab文件: 是Linux下比较重要的配置文件,它包含了系统在启动时挂载文件系统和存储设备的详细信息。

详解:

#
# /etc/fstab
# Created by anaconda on Sat Oct 14 07:10:48 2017
#
# 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=6559445d-1024-4844-8081-493ab99d9184 /                       xfs     defaults        0 0
UUID=dc0af3e1-60ae-4882-8095-00e49d55dc43 /boot                   xfs     defaults        0 0
UUID=9f76cdc3-d12f-455a-b4e0-f3e68f47ed95 swap                    swap    defaults        0 0
                    |                       |                       |         |           | |_fsck选项
                    |                       |                       |         |           |_dump选项
                    |                       |                       |         |_挂载选项
                    |                       |                       |_指定文件系统的分区类型
                    |                       |_挂载点、就是将设备挂载到哪里                       
                    |_需要挂载的文件系统的路径或UUID

手动增加swap空间

swap: swap就是linux操作系统的虚拟内存,我们在安装操作系统的时候就会设置swap的空间大小、当后期我们觉得swap不够大时就可以手动的增加其大小。

操作步骤: 1、查看当前swap空间大小。

[root@test1 mount]# free -m                 /*使用free -m可以查看当前swap总数为1952M剩余1952M
              total        used        free      shared  buff/cache   available
Mem:            976         116         601          22         258         679
Swap:          1952           0        1952

2、使用dd命令创建一个200M的文件用作后期增加swap空间。

[root@test1 tmp]# dd if=/dev/zero of=/tmp/swapadd bs=200MB count=1
记录了1+0 的读入
记录了1+0 的写出
200000000字节(200 MB)已复制,1.27084 秒,157 MB/秒
[root@test1 tmp]# du -sh /tmp/swapadd 
191M	/tmp/swapadd                        

3、将目标文件格式化为swap格式。

[root@test1 tmp]# mkswap /tmp/swapadd 
正在设置交换空间版本 1,大小 = 195308 KiB

4、使用swapon命令增加swap大小。

[root@test1 tmp]# swapon /tmp/swapadd 
[root@test1 tmp]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         116         405          22         454         677
Swap:          2143           0        2143

partprobe命令

partprobe: 用于重新读取分区表信息。{当有的时候才分完区找不到分区文件时可以使用该命令重新读取分区表信息}

用法: partprobe

lvm讲解

lvm: LVM就是Linux下专门针对我们数据的不断的扩大,在原有动态磁盘的基础上动态的调整磁盘的大小,在扩容逻辑卷后原来的资料不会丢失。

LVM创建步骤图:

此处输入图片的描述

lvm创建步骤:

1、使用fdisk工具创建3个分区

命令(输入 m 获取帮助):p        /*创建步骤不再详细列出、创建完成后使用P可以看到ID为83

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0006462e

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     8390655     4194304    5  Extended
/dev/sdb5            4096     2101247     1048576   83  Linux
/dev/sdb6         2103296     4200447     1048576   83  Linux
/dev/sdb7         4202496     6299647     1048576   83  Linux

2、将分区系统修改为LVM

命令(输入 m 获取帮助):t                        /*使用t修改分区系统
分区号 (1,5-7,默认 7):5                       /*由于我创建的是扩展分区所以分区号从5开始
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):t
分区号 (1,5-7,默认 7):6
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):t
分区号 (1,5-7,默认 7):7
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

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

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0006462e                          /*这是已经创建好的3个LVM物理卷

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     8390655     4194304    5  Extended
/dev/sdb5            4096     2101247     1048576   8e  Linux LVM
/dev/sdb6         2103296     4200447     1048576   8e  Linux LVM
/dev/sdb7         4202496     6299647     1048576   8e  Linux LVM

2、使用yum工具安装lvm2

[root@test1 tmp]# yum install -y lvm2

3、创建物理卷(PV)。

pvcreate语法:pvcreate...[设备]
============================================================================================
[root@test1 tmp]# pvcreate /dev/sdb5                    /*使用pvcreate命令分别创建三个物理卷
  Physical volume "/dev/sdb5" successfully created.
[root@test1 tmp]# pvcreate /dev/sdb6
  Physical volume "/dev/sdb6" successfully created.
[root@test1 tmp]# pvcreate /dev/sdb7
  Physical volume "/dev/sdb7" successfully created.
[root@test1 tmp]# pvdisplay                             /*使用pvdisplay或pvs显示已经创建的物理卷
  "/dev/sdb6" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb6
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               cAylcr-AMLB-QAho-aq4e-p8Uw-swR7-1iTRBf
   
  "/dev/sdb7" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb7
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               0S2CCh-X0F7-rAJr-ivln-Y9uw-8xmS-qFfWJc
   
  "/dev/sdb5" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb5
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               xbSCHT-05AD-nW98-iv28-bAaQ-vscp-zT0DJu
   
[root@test1 tmp]# pv
pvchange   pvck       pvcreate   pvdisplay  pvmove     pvremove   pvresize   pvs        pvscan
[root@test1 tmp]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb5     lvm2 ---  1.00g 1.00g
  /dev/sdb6     lvm2 ---  1.00g 1.00g
  /dev/sdb7     lvm2 ---  1.00g 1.00g

4、创建一个卷组vg1并查看。(VG)

vgcreate语法:vgcreate...[卷组名]...[物理卷1]...[物理卷2]...[物理卷n...]
========================================================================
[root@test1 tmp]# vgcreate vg1 /dev/sdb5 /dev/sdb6 /dev/sdb7    /*创建一个卷组vg1
  Volume group "vg1" successfully created
[root@test1 tmp]# vgs                                           /*查看创建的卷组
  VG  #PV #LV #SN Attr   VSize  VFree 
  vg1   3   0   0 wz--n- <2.99g <2.99g

5、创建、格式化、挂载逻辑卷。(LV)

lvgreate用法:lvgreate...[-L、设置逻辑卷大小]...[-n、指定逻辑卷名字]...[卷组]
=============================================================================
[root@test1 tmp]# lvcreate -L 100M -n lv1 vg1       /*从卷组vg1创建逻辑卷lv1 大小为100M 名字为lv1
  Logical volume "lv1" created.
[root@test1 tmp]# mkfs.ext4 /dev/vg1/lv1            /*格式化逻辑卷lv1为ext4
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@test1 tmp]# mount /dev/vg1/lv1 /mount/                /*挂载lv1逻辑卷
[root@test1 tmp]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.5G   17G    8% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M   19M  470M    4% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/sda1            207M  110M   98M   53% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mount

lvm扩容与缩容

扩容缩容逻辑卷(lv)

lvm扩容。(ext4文件系统)

步骤:1、umount掉刚刚挂载的目录
      2、lvresize -L 重新设定逻辑卷大小
      3、e2fsck -f /dev/vg1/lv1 检查磁盘错误(仅针对ext文件系统)
      4、resize2fs /dev/vg1/lv1 更新逻辑卷信息 (仅针对ext文件系统)
      5、重新mount /dev/vg1/lv1
=================================================================================
[root@test1 tmp]# umount /mount/                            /*←----步骤1
[root@test1 tmp]# lvresize -L 200M /dev/vg1/lv1             /*←----步骤2
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
  Logical volume vg1/lv1 successfully resized.
[root@test1 tmp]# e2fsck -f /dev/vg1/lv1                     /*←----步骤3
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks
[root@test1 tmp]# resize2fs /dev/vg1/lv1                     /*←----步骤4
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@test1 tmp]# mount /dev/vg1/lv1 /mount                  /*←----步骤5
[root@test1 tmp]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.5G   17G    8% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M   19M  470M    4% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/sda1            207M  110M   98M   53% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1  190M  1.6M  175M    1% /mount

lvm缩容(ext文件系统。[xfs文件系统不支持])

步骤:1、umount掉/dev/vg1/lv1
      2、e2fsck -f /dev/vg1/lv1 检查磁盘错误(仅针对ext文件系统)
      3、resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息、并将大小修改为100M (仅针对ext文件系统)
      4、lvresize -L重新设定逻辑卷大小
      5、mount /dev/vg1/lv1
===============================================================================================
[root@test1 tmp]# umount /mount/                        /*←----步骤1
[root@test1 tmp]# e2fsck -f /dev/vg1/lv1                /*←----步骤2
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 11/49400 files (9.1% non-contiguous), 11884/204800 blocks
[root@test1 tmp]# resize2fs /dev/vg1/lv1 100M           /*←----步骤3{跟扩容不同这里需要填上缩容的大小}
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.

[root@test1 tmp]# lvresize -L 100M /dev/vg1/lv1         /*←----步骤4
  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@test1 tmp]# lvs 
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 100.00m                                                    
[root@test1 tmp]# mount /dev/vg1/lv1 /mount/            /*←----步骤5
[root@test1 tmp]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.5G   17G    8% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M   19M  470M    4% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/sda1            207M  110M   98M   53% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mount

lvm扩容(xfs文件系统)

步骤:1、umount/dev/vg1/lv1
      2、重新格式化/dev/vg1/lv1为xfs文件系统
      3、重新挂载/dev/vg1/lv1
      4、lvresize -L 500M /dev/vg1/lv1 扩容
      5、xfs_growfs /dev/vg1/lv1 (跟ext文件系统不同、执行这个命令的时候不需要卸载卷)
=========================================================================================
[root@test1 tmp]# umount /mount/                        /*←----步骤1                    
[root@test1 tmp]# mkfs.xfs -f /dev/vg1/lv1              /*←----步骤2
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@test1 tmp]# mount /dev/vg1/lv1 /mount/            /*←----步骤3
[root@test1 tmp]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.5G   17G    8% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M   19M  470M    4% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/sda1            207M  110M   98M   53% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1   97M  5.2M   92M    6% /mount
[root@test1 tmp]# lvresize -L 500M /dev/vg1/lv1         /*←----步骤4
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 500.00 MiB (125 extents).
  Logical volume vg1/lv1 successfully resized.
[root@test1 tmp]# xfs_growfs /dev/vg1/lv1               /*←----步骤5
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 128000
[root@test1 tmp]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.5G   17G    8% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M   19M  470M    4% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/sda1            207M  110M   98M   53% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1  497M  5.7M  491M    2% /mount

扩容卷组(vg)

步骤:1、使用fdisk增加一个新的分区、并将分区系统修改为8e(LVM)
      2、pvcreate 将刚刚新增的分区设置成物理卷
      3、vgextend...[需要扩容的卷组]...[刚刚新增的物理卷]
      4、lvresize -L /dev/vg1/lv1重新设置逻辑卷的大小
================================================================
[root@test1 tmp]# pvcreate /dev/sdb8                     /*←----步骤2、步骤1省略
  Physical volume "/dev/sdb8" successfully created.
[root@test1 tmp]# vgextend vg1 /dev/sdb8                 /*←----步骤3
  Volume group "vg1" successfully extended
[root@test1 tmp]# lvresize -L 1024M /dev/vg1/lv1         /*←----步骤4(步骤4主要是用来重新设置逻辑卷大小)
  Size of logical volume vg1/lv1 changed from 500.00 MiB (125 extents) to 1.00 GiB (256 extents).
  Logical volume vg1/lv1 successfully resized.
[root@test1 tmp]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   4   1   0 wz--n- 3.98g 2.98g

转载于:https://my.oschina.net/u/3626689/blog/1560670

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值