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