前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

磁盘格式化、磁盘挂载和手动增加swap空间

qiguaw 2024-10-28 17:27:03 资源文章 18 ℃ 0 评论

9月26日任务

4.5/4.6 磁盘格式化

4.7/4.8 磁盘挂载

4.9 手动增加swap空间

磁盘格式化

查看系统支持的文件系统

系统支持的文件系统类型
[root@centos7 ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
centos7 系统默认的文件系统格式是 xfs,
centos6.x版本为ext4,再之前就是ext3/2...

格式化新分区

  1. mke2fs命令
  • 默认不加参数

格式化分区类型为ext2,块大小为4096字节(即4K),预留磁盘空间为5%。可以通过参数(单个或多个结合)设置来修改!

[root@localhost ~]# mke2fs /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376
Allocating group tables: 完成 
正在写入inode表: 完成 
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# blkid /dev/sdb5
/dev/sdb5: UUID="c8ac98dc-9794-44ee-a29d-90e13d405175" TYPE="ext2"
  • -t 指定文件系统类型(不支持xfs)
[root@localhost ~]# mke2fs -t ext4 /dev/sdb5
....
information: 完成
[root@localhost ~]# blkid /dev/sdb5
/dev/sdb5: UUID="f98f1f5e-bb4a-4242-a1f4-7f83119bcb82" TYPE="ext4"
  • -b 指定块大小

系统块大小默认为4096字节 (根据所存储数据大小特性,调整block大小,可以优化性能,一般来说保存默认即可)

[root@localhost ~]# mke2fs -t ext4 -b 2048 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1) # 块大小已被修改为2048字节
分块大小=2048 (log=1)
......
information: 完成
  • -m 指定预留给root的磁盘空间占比
[root@localhost ~]# blkid /dev/sdb5
/dev/sdb5: UUID="ec2d49ca-08f6-45dc-9e31-cfe55a997f8e" TYPE="ext4"
[root@localhost ~]# mke2fs -t ext4 -m 1 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
2621 blocks (1.00%) reserved # 预留设置了1%
......
information: 完成
  • -i 指定多少字节对于1个inode号,默认4K对于1个inode号(在分区inode号不够时,可以通过调节块大小来增加inode号数量)
[root@localhost ~]# mke2fs -t ext4 -i 8192 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 262144 blocks
# 1个inode对于2个blocks即8192字节
......
information: 完成

使用 man mke2fs 查看命令具体使用

2. mkfs.ext4/xfs命令

mkfs.抬头的命令有以下几种

[root@localhost ~]# mkfs.
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.xfs 
mkfs.cramfs mkfs.ext3 mkfs.minix

主要介绍下mkfs.ext4和mkfs.xfs

  • CentOS6及之前版本中文件系统为ext4及更早版本
[root@localhost ~]# mkfs.ext4 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376
Allocating group tables: 完成 
正在写入inode表: 完成 
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
  • CentOS7内的默认文件系统为xfs
[root@localhost ~]# mkfs.xfs /dev/sdb5
mkfs.xfs: /dev/sdb5 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
# 对于已经设置过文件系统类型的磁盘需要执行-f参数强制格式化
[root@localhost ~]# mkfs.xfs -f /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=65536 blks
 = sectsz=512 attr=2, projid32bit=1
 = crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, 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
  • 使用blkid命令可以查看未挂载的磁盘分区,使用df命令无法查看新修改的文件系统(未挂载)
[root@localhost ~]# blkid /dev/sdb5
/dev/sdb5: UUID="6f2aa21a-3af6-455b-91a6-277088815c98" TYPE="xfs"

格式化未分区磁盘

不仅可以对分过区的磁盘进行格式化操作,也可以直接对未分区的磁盘进行格式化!

[root@localhost ~]# 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@localhost ~]# blkid /dev/sdb
/dev/sdb: UUID="018febb7-642f-4935-b8ae-52d39118a24d" TYPE="xfs"

磁盘分区挂载

挂载命令:mount

Usage: mount 磁盘分区 挂载点

挂载完成后就可以使用df -h命令看到挂载的分区,也可以使用mount命令查看磁盘的文件系统类型。

# 挂载前
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.2G 17G 7% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 98M 0 98M 0% /run/user/0
# 执行mount命令挂载后
[root@localhost ~]# mount /dev/sdb /mnt
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.2G 17G 7% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt

mount常用参数

  • -o 参数
  • defaults == rw,suid,dev,exec,auto,nouser,and async
  • rw 可读写
  • auto 自动挂载
  • nouser 不允许普通用户挂载
  • async 同步写入
  • remount 重新挂载

挂载配置文件 /etc/fstab

[root@centos7 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 31 05:17:14 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=5ee3eb67-81a1-4064-83fc-fbf79c808c7a / xfs defaults 0 0
UUID=5671cec2-24c1-4553-8c96-00057ce308a6 /boot xfs defaults 0 0
UUID=1f8c12e3-4ff7-46d5-a720-1be96686adcd swap swap defaults 0 0
第一列:挂载的文件系统盘名或UUID
第二列:挂载点
第三列:分区的文件系统类型
第四列:挂载选项
第五列:是否备份;
第六列:是否检测磁盘优先级0-2,0不检测,2优先级比1高

卸载命令:umount

Usage: umount 磁盘分区/挂载点

  • 一般情况下,直接在挂载点执行umount操作,将无法执行,需要切换到其他目录才可以!
[root@localhost mnt]# umount /dev/sdb
umount: /mnt:目标忙。
 (有些情况下通过 lsof(8) 或 fuser(1) 可以
 找到有关使用该设备的进程的有用信息)
[root@localhost mnt]# cd
[root@localhost ~]# umount /dev/sdb
  • 要想直接在挂载点执行umount命令只需要加 -l 参数就可以直接卸载
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# umount -l /dev/sdb
[root@localhost mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.2G 17G 7% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 98M 0 98M 0% /run/user/0

实用技巧

手动增加swap空间

  1. 从磁盘中分割出一个空磁盘
# /dev/zero是系统的一个特殊设备,它输出的是空数据
[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,24.364 秒,4.3 MB/秒
# 查看磁盘大小
[root@localhost ~]# du -sh /tmp/newdisk
100M /tmp/newdisk

2. 格式化空磁盘

[root@localhost ~]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=8a12dd8f-f4ff-412f-a6cf-fdca4aacba37

3. 将新磁盘加到swap空间上去

[root@localhost ~]# free -m
 total used free shared buff/cache available
Mem: 976 115 604 6 257 687
Swap: 2047 0 2047
[root@localhost ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
# 提示警告,但是也已经成功增容
[root@localhost ~]# free -m
 total used free shared buff/cache available
Mem: 976 115 604 6 257 687
Swap: 2147 0 2147
# 最好执行权限修改后再执行swapon
[root@localhost ~]# chmod 0600 /tmp/newdisk

如何删除

删掉新添加的磁盘空间

[root@localhost ~]# swapoff /tmp/newdisk
[root@localhost ~]# free -m
 total used free shared buff/cache available
Mem: 976 114 604 6 257 687
Swap: 2047 0 2047
[root@localhost ~]# rm -rf /tmp/newdisk

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表