Linux系统磁盘管理
磁盘容量检查
df 查看磁盘容量,不加参数以k为单位
- i 查看inode使用情况
- h 以G或者T或者M人性化方式显示
- T 查看文件类型
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 17G 5.6G 12G 33% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
tmpfs 378M 0 378M 0% /run/user/0
lsblk 查看分区情况
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─rhel-root 253:0 0 17G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 3.8G 0 rom
du 查看目录或者文件的容量,不加参数以k为单位
- s 列出总和
- h 人性化显示容量信息
[root@localhost ~]# du -sh /opt
3.9G /opt
磁盘分区
虚拟机添加磁盘:
1.找到对应虚拟主机点击右键, 选择设置
2.在硬件向导里面点击添加按钮, 在硬件类型中选中“硬盘”, 点击下一步
3.磁盘类型选择默认, 然后创建新虚拟磁盘, 调整大小(不要勾选立即分配空间)
4.最后点击下一步, 完成即可
分区工具有fdisk和gdisk,当硬盘小于2T的时候我们应该用fdisk来分区,而当硬盘大于2T的时候则应用gdisk来进行分区
fdisk分区
1P1E6L(一个主分区一个扩展分区6个逻辑分区)
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xfaa9f324 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Extended 类型,大小设为 15 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 7
起始 扇区 (14688256-41943039,默认为 14688256):
将使用默认值 14688256
Last 扇区, +扇区 or +size{K,M,G} (14688256-41943039,默认为 41943039):+1G
分区 7 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 8
起始 扇区 (16787456-41943039,默认为 16787456):
将使用默认值 16787456
Last 扇区, +扇区 or +size{K,M,G} (16787456-41943039,默认为 41943039):+1G
分区 8 已设置为 Linux 类型,大小设为 1 GiB
...
2P1E4L
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):5^Hsdfg
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): e
分区号 (3,4,默认 3):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
将使用默认值 41943039
分区 3 已设置为 Extended 类型,大小设为 10 GiB
...
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 7
起始 扇区 (22618112-41943039,默认为 22618112):
将使用默认值 22618112
Last 扇区, +扇区 or +size{K,M,G} (22618112-41943039,默认为 41943039):+400M
分区 7 已设置为 Linux 类型,大小设为 400 MiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 8
起始 扇区 (23439360-41943039,默认为 23439360):
将使用默认值 23439360
Last 扇区, +扇区 or +size{K,M,G} (23439360-41943039,默认为 41943039):
将使用默认值 41943039
分区 8 已设置为 Linux 类型,大小设为 8.8 GiB
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfaa9f324
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 20973567 5242880 83 Linux
/dev/sdb3 20973568 41943039 10484736 5 Extended
/dev/sdb5 20975616 21590015 307200 83 Linux
/dev/sdb6 21592064 22616063 512000 83 Linux
/dev/sdb7 22618112 23437311 409600 83 Linux
/dev/sdb8 23439360 41943039 9251840 83 Linux
3P1E1L
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (8390656-41943039,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-41943039,默认为 41943039):+2G
分区 3 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (12584960-41943039,默认为 12584960):
将使用默认值 12584960
Last 扇区, +扇区 or +size{K,M,G} (12584960-41943039,默认为 41943039):
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 14 GiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (12587008-41943039,默认为 12587008):
将使用默认值 12587008
Last 扇区, +扇区 or +size{K,M,G} (12587008-41943039,默认为 41943039):+300M
分区 5 已设置为 Linux 类型,大小设为 300 MiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfaa9f324
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 8390655 2097152 83 Linux
/dev/sdb3 8390656 12584959 2097152 83 Linux
/dev/sdb4 12584960 41943039 14679040 5 Extended
/dev/sdb5 12587008 13201407 307200 83 Linux
刷新内核
[root@localhost ~]# partprobe /dev/sdb
磁盘格式化
mkfs 格式化磁盘,创建文件系统
常用选项:
-b 设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
-t 用来指定什么类型的文件系统,可以是ext3,ext4, xfs
-i 设定inode的大小
-N 设定inode数量,防止Inode数量不够导致磁盘不足
-L 预设该分区的标签label
[root@localhost ~]# 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
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
...
磁盘挂载
mount 挂载磁盘,实质为文件系统指定访问入口
-t 指定文件系统挂载分区,如ext3,ext4, xfs
-a 重新读取/etc/fstab配置文件的所有分区
-o 指定挂载参数
[root@localhost ~]# mount /dev/sdb1 /db1
永久挂载磁盘
使用blkid命令获取各分区的UUID
[root@localhost ~]# blkid | grep "sdb1"
/dev/sdb1: UUID="e1135238-e0a6-4392-839f-5054ad8ca624" TYPE="ext4"
把下面这行代码写到/etc/fstab中,永久挂载, 开机自动挂载
[root@localhost ~]# tail -1 /etc/fstab
UUID="e1135238-e0a6-4392-839f-5054ad8ca624" /db1 ext4 defaults 0 0
加载fstab配置文件, 同时检测语法是否有错误
[root@localhost ~]# mount –a
卸载挂载磁盘
umount -lf  强制卸载挂载
创建swap分区
第一种方式:使用系统中的某个文件作为swap分区
1. 创建swapfile
if:指定源 一般写/dev/zero
of:指定目标
bs:定义块大小
count:数量
[root@localhost ~]# dd if=/dev/zero of=/opt/newdisk bs=1G count=1
记录了1+0 的读入
记录了1+0 的写出
1073741824字节(1.1 GB)已复制,43.2728 秒,24.8 MB/秒
2 格式化swap分区
[root@localhost ~]# mkswap -f /opt/newdisk
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=0db2d2cf-670c-435b-ad18-9e894ce46b9c
3 检测当前swap分区情况
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3774 155 2387 8 1231 3347
Swap: 2047 0 2047
4 开启新建的SWAP分区
[root@localhost ~]# swapon /opt/newdisk
swapon: /opt/newdisk:不安全的权限 0644,建议使用 0600。
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3774 156 2387 8 1231 3347
Swap: 3071 0 3071 swap分区多出来1G
5 关闭新建的swap分区
[root@localhost ~]# swapoff /opt/newdisk
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3774 155 2387 8 1231 3347
Swap: 2047 0 2047 还原到没有增加虚拟磁盘
第二种方式:使用磁盘分区作为swap分区
1.分区
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe /dev/sdb
格式化
[root@localhost ~]# mkswap /dev/sdb1
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=631d7233-082e-44e6-ba01-af613705df77
[root@localhost ~]# blkid
/dev/sdb1: UUID="631d7233-082e-44e6-ba01-af613705df77" TYPE="swap"
2.查看分区情况
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3774 157 3435 8 181 3385
Swap: 2047 0 2047
3.开启新建的SWAP分区
[root@localhost opt]# swapon /dev/sdb1
[root@localhost opt]# free -m
total used free shared buff/cache available
Mem: 3774 157 3434 8 181 3384
Swap: 3071 0 3071
永久启用swap
vim /etc/fstab
1.使用文件作为swap分区
/opt/xx swap swap defaults 0 0
2.使用系统分区作为swap分区
UUID=xx swap swap defaults 0 0