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

目录

一、 磁盘格式化
二、 磁盘挂载
三、 手动增加swap空间

一、 磁盘格式化

1. 命令mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4和mkfs.xfs

用man命令查询前4个命令的结果是一样的,说明这4个命令是一样的。

mke2fs命令常用的选项:

-b:分区时指定区块大小,单位为字节。目前,每个数据块支持1024B、2048B及4096B。
-t:用来指定文件系统的类型。
-i:设定inode的大小。
-N:设定inode的数量。
-c:检查磁盘是否有问题。使用时运行速度变非常慢。
-L:设置文件系统的标签名称。
-j:表示建立ext3格式的分区。
-m:指定给管理员保留区块的比例,预设为5%

示例命令如下:

  • 指定sdb5分区的文件系统类型为ext4
[root@minglinux-01 ~]# mke2fs -t 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: 完成

上例中出现了“块大小=4096”,下面说一下块的概念。
磁盘在格式化的时候,会预先规定好每一块的大小,然后再把所有的空间分割成一个一个的小块。存数据时,也是一个块一个块地写入。ext4文件系统的默认块大小为4096B。在格式化时,可以指定块大小为1024B、2048B或4096B,当指定块大小超过4096B时就不能正确挂载了。

  • 指定sdb5分区的块大小为8196:
[root@minglinux-01 ~]# mke2fs -t ext4 -b 8192 /dev/sdb5
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) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
warning: 16 blocks unused.

文件系统标签=
OS type: Linux
块大小=8192 (log=3)
分块大小=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 131056 blocks
6552 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=134201344
2 block groups
65528 blocks per group, 65528 fragments per group
32768 inodes per group
Superblock backups stored on blocks: 
    65528

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
  • 指定"字节/inode"的比例:
[root@minglinux-01 ~]# mke2fs -i 8192 -t 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
131072 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
16384 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: 完成

mke2fs并不支持把分区格式化为XFS类型,而只能使用mkfs.xfs。

[root@minglinux-01 ~]# mke2fs -t xfs /dev/sdb6
mke2fs 1.42.9 (28-Dec-2013)

Your mke2fs.conf file does not define the xfs filesystem type.
Aborting...
  • 使用mkfs.xfs把sdb6格式化为XFS类型:
[root@minglinux-01 ~]# mkfs.xfs /dev/sdb6
meta-data=/dev/sdb6              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
  • 给分区指定标签:
[root@minglinux-01 ~]# mke2fs -L TEST -t ext4 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=TEST
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: 完成
2. 命令e2label

该命令用于查看或修改分区的标签,它只支持ext格式的文件系统,而不支持XFS文件系统。示例命令如下:

[root@minglinux-01 ~]# e2label /dev/sdb5
TEST
[root@minglinux-01 ~]# e2label /dev/sdb5 TEST123
[root@minglinux-01 ~]# e2label /dev/sdb5
TEST123

二、 磁盘挂载

格式化后的磁盘其实就是一个块状设备文件,类型为b。在挂载某个分区前,需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某个分区挂载到这个挂载点(目录)下,要再往这个目录写数据时,就都会写到该分区中。所以,在挂载该分区前,挂载点(目录)下必须是空目录。如果目录非空,一旦挂载上了,该目录以前的东西就看不到了,除非卸载该分区。

1. 命令mount

mount命令用于加载文件系统到指定的加载点。

  • 不加任何选项,直接运行mount,显示如下:
[root@minglinux-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=921776k,nr_inodes=230444,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,seclabel,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/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
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)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13331)
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=186528k,mode=700)

查看某个已挂载分区的文件系统类型,直接用mount命令查看即可。而未挂载的分区可以使用blkid命令查看,稍后会介绍到。
下面新建一个空目录,然后在目录里新建一个空白文档。示例如下:

[root@minglinux-01 ~]# mkdir /newdir
[root@minglinux-01 ~]# touch /newdir/newfile.txt
[root@minglinux-01 ~]# ls /newdir/
newfile.txt

然后把sdb5挂载到/newdir上:

[root@minglinux-01 ~]# mount /dev/sdb5 /newdir/
[root@minglinux-01 ~]# ls /newdir/
lost+found
[root@minglinux-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
devtmpfs        901M     0  901M    0% /dev
tmpfs           911M     0  911M    0% /dev/shm
tmpfs           911M  9.5M  902M    2% /run
tmpfs           911M     0  911M    0% /sys/fs/cgroup
/dev/sda1       197M  140M   58M   71% /boot
tmpfs           183M     0  183M    0% /run/user/0
/dev/sdb5       976M  2.6M  907M    1% /newdir

可以看到,把/dev/sdb5挂载到/newdir后,原来的newfile.txt就看不到了。

  • 使用LABEL的方式挂载分区,如下所示:
[root@minglinux-01 ~]# umount /newdir/
[root@minglinux-01 ~]# df -h | grep -v tmpfs
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
/dev/sda1       197M  140M   58M   71% /boot
[root@minglinux-01 ~]# mount LABEL=TEST123 /newdir
[root@minglinux-01 ~]# df -h | grep -v tmpfs
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
/dev/sda1       197M  140M   58M   71% /boot
/dev/sdb5       976M  2.6M  907M    1% /newdir
2. /etc/fstab配置文件

文件内容:

[root@minglinux-01 ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Sep  5 01:17:51 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=22416a3c-e656-4cea-8cfe-c46e3caaff9c /                       xfs     defaults        0 0
UUID=71ee1ccd-ae34-4561-9182-e90e1609d50e /boot                   xfs     defaults        0 0
UUID=39354d09-4036-4ca8-8621-ad26d2cc5b69 swap                    swap    defaults        0 0

简单描述一下各列的含义。

第1列就是分区的标识,可以写分区的LABEL、分区的UUID,也可以写分区名(/dev/sda1)。
第2列是挂载点。
第3列是分区的格式。
第4列是mount的一些挂载参数。一般情况下,直接写defaults即可。
第5列的数字表示是否被dump备份。1表示备份,0表示不备份。
第6列的数字表示开机时是否自检磁盘。1和2都表示检测,0表示不检测。自检时,1比2优先级高,所以先检测1,再检测2。如果有多个分区需要开机检测,就都设置成2,1检测完后会同时检测2。在CentOS 7系统里,所有分区中该列的值都是0。

第4列常用选项:

async/sync:async表示与磁盘和内存不同步。系统每隔一段时间就会把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中的数据。
auto/noauto:表示开机自动挂载/不自动挂载。
default:表示按照大多数永久文件系统的默认值设置挂载定义,它包含了rw、suid、dev、exec、auto、nouser和async。
ro:表示按只读权限挂载。
rw:表示按可读可写权限挂载。
exec/noexec:表示允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,否则将无法使用系统,甚至连mount命令都无法使用。
user/nouser:表示允许/不允许root外的其他用户挂载分区。为了安全,请用nouser。
suid/nosuid:表示允许/不允许分区有suid属性,一般设置nosuid。
usrquota:表示启动用户的磁盘配额模式。磁盘配额会针对用户限定他们使用的磁盘额度。
grquota:表示启动群组的磁盘配额模式。

  • mount -a 把/etc/fstab中出现的所有磁盘分区挂载上。
  • mount -t 用来指定挂载的分区类型,默认不设定,会自动识别。
  • mount -o 用来指定挂载的分区有哪些特性,即上面/etc/fstab配置文件中第4列的那些。
3. 命令blkid

在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。

[root@minglinux-01 ~]# blkid /dev/sdb5
/dev/sdb5: LABEL="TEST123" UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" TYPE="ext4"

获取到UUID后,我们可以使用UUID来挂载分区:

[root@minglinux-01 ~]# mount -l UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" /newdir/ 
mount: /dev/sdb5 已经挂载或 /newdir 忙
       /dev/sdb5 已经挂载到 /newdir 上
[root@minglinux-01 ~]# umount /newdir/
[root@minglinux-01 ~]# mount UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" /newdir/
[root@minglinux-01 ~]# df -h | grep -v tmpfs
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
/dev/sda1       197M  140M   58M   71% /boot
/dev/sdb5       976M  2.6M  907M    1% /newdir

如果想让某个分区在开机后自动挂载,有两个方法,一是可以在/etc/fstab/中添加一行:
UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" /newdir ext4 default 0 0

二是把挂载命令写到/etc/rc.d/rc.local文件中去。命令如下:
/usr/bin/mount UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" /newdir
更改完/etc/rc.d/rc.local文件后,还需要一步操作# chmod a+x /etc/rc.d/rc.local

4. 命令umount

umount命令用于卸载已经加载的文件系统。示例命令如下:

[root@minglinux-01 ~]# umount /dev/sdb5
[root@minglinux-01 ~]# mount UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" /newdir/
[root@minglinux-01 ~]# umount /newdir/
[root@minglinux-01 ~]# mount UUID="8d82e5f3-60cf-4548-adf5-55ee47550a28" /newdir/

如果当前目录是在要卸载的分区时会提示目标忙,此时可以使用umount命令的-l选项直接卸载。命令如下:

[root@minglinux-01 newdir]# umount -l /newdir/
[root@minglinux-01 newdir]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
devtmpfs        901M     0  901M    0% /dev
tmpfs           911M     0  911M    0% /dev/shm
tmpfs           911M  9.5M  902M    2% /run
tmpfs           911M     0  911M    0% /sys/fs/cgroup
/dev/sda1       197M  140M   58M   71% /boot
tmpfs           183M     0  183M    0% /run/user/0

三、 手动增加swap空间

如果遇到了虚拟内存不够用的情况,就要增加一个虚拟磁盘。增加虚拟磁盘的基本思路是:建立swapfile→格式化为swap格式→启用该虚拟磁盘。

  • 建立swapfile,如下所示:
[root@minglinux-01 newdir]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,13.6174 秒,78.9 MB/秒

用if指定源(一般是写/dev/zero,它是UNIX系统特有的一个文件,它可以源源不断地提供“0”),of指定目标文件,bs定义块的大小,count定义块的数量。bs和count这两个参数决定了目标文件的大小,即目标文件大小=bs*count。

  • 下面将建立的文件格式化为swap格式:
[root@minglinux-01 newdir]# mkswap -f /tmp/newdisk 
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=25a2aed3-c3c1-4d12-a7b8-e92a0a28af24

文件格式化后就可以挂载使用了,如下所示:

[root@minglinux-01 newdir]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1821         122         486           9        1212        1500
Swap:          2047           0        2047
[root@minglinux-01 newdir]# swapon /tmp/newdisk 
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@minglinux-01 newdir]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1821         123         485           9        1212        1500
Swap:          3071           0        3071
  • 卸载命令:
[root@minglinux-01 newdir]# swapoff /tmp/newdisk 
[root@minglinux-01 newdir]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1821         122         486           9        1212        1501
Swap:          2047           0        2047
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容