Linux 系统磁盘挂载, 手动增加 swap 空间

挂载 / 卸载磁盘

前言

在前面学了磁盘的分区和格式化,那么格式化完成后,如何使用这些磁盘呢?
这就涉及到了挂载磁盘了。格式化后的磁盘其实是一个块设备文件,类型为 b。是不可以直接在里面写入数据的。
在挂载某个分区前,需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某个分区挂载到这个挂载点(目录)下,要再往这个目录写数据时,就都会写到该分区中。所以,在挂载该分区前,挂载点(目录)下必须是个空目录。其实目录不为空并不影响所挂载分区的使用,但一旦挂载上了,该目录以前的东西就看不到了(数据并没有丢失),除非卸载该分区


## 一,磁盘在不分区的情况下可以格式化吗?如下

[root@localhost ~]# fdisk /dev/sdb    //进入磁盘分区

欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):p  //打印当前磁盘信息

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x14b00984

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux

命令(输入 m 获取帮助):d   //删除sdb1分区
已选择分区 1
分区 1 已删除

命令(输入 m 获取帮助):w  //保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@localhost ~]# mkfs.xfs -f /dev/sdb   //格式化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="8e0c9897-66b7-4d40-9602-31c58bb69266" TYPE="xfs" 

## 二,使用 mount 命令磁盘挂载

  • 命令语法
    mount(选项)(参数)

  • 命令描述
    mount 命令用于加载文件系统到指定的加载点。此命令的最常用于挂载 cdrom,使我们可以访问 cdrom 中的数据,因为你将光盘插入 cdrom 中,Linux 并不会自动挂载,必须使用 Linux mount 命令来手动完成挂载。

  • 命令选项
    -a 安装在 /etc/fstab 文件中类出的所有文件系统。
    -f 伪装 mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
    -n 不把安装记录在 /etc/mtab 文件中。
    -r 将文件系统安装为只读。
    -v 详细显示安装信息。
    -w 将文件系统安装为可写,为命令默认情况。
    -t < 文件系统类型 > 指定设备的文件系统类型,常见的有:
    ext2 linux 目前常用的文件系统
    msdos MS-DOS 的 fat,就是 fat16
    vfat windows98 常用的 fat32
    nfs 网络文件系统
    iso9660 CD-ROM 光盘标准文件系统
    ntfs windows NT/2000/XP 的文件系统
    auto 自动检测文件系统
    -o < 选项 > 指定挂载文件系统时的选项,有些也可写到在 /etc/fstab 中。常用的有:
    defaults 使用所有选项的默认值(auto、nouser、rw、suid)
    auto/noauto 允许 / 不允许以 –a 选项进行安装
    dev/nodev 对 / 不对文件系统上的特殊设备进行解释
    exec/noexec 允许 / 不允许执行二进制代码
    suid/nosuid 确认 / 不确认 suid 和 sgid 位
    user /nouser 允许 / 不允许一般用户挂载
    codepage=XXX 代码页
    iocharset=XXX 字符集
    ro 以只读方式挂载
    rw 以读写方式挂载
    remount 重新安装已经安装了的文件系统

三, 卸载磁盘挂载

  • 使用 df 查看已挂载磁盘
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root   18G  1.2G   17G    7% /
devtmpfs             482M     0  482M    0% /dev
tmpfs                493M     0  493M    0% /dev/shm
tmpfs                493M  6.8M  486M    2% /run
tmpfs                493M     0  493M    0% /sys/fs/cgroup
/dev/sda1            197M  117M   81M   60% /boot
tmpfs                 99M     0   99M    0% /run/user/0

  • 把 /dev/sdb 磁盘挂载到 /mnt/ 目录下
[root@localhost ~]# mount /dev/sdb/ /mnt/     //挂载sdb磁盘
Try 'df --help' for more information.
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root   18G  1.2G   17G    7% /
devtmpfs             482M     0  482M    0% /dev
tmpfs                493M     0  493M    0% /dev/shm
tmpfs                493M  6.8M  486M    2% /run
tmpfs                493M     0  493M    0% /sys/fs/cgroup
/dev/sda1            197M  117M   81M   60% /boot
tmpfs                 99M     0   99M    0% /run/user/0
/dev/sdb              10G   33M   10G    1% /mnt       //可以看到已经挂载到了/mnt/下  

  • 使用 mount 命令查看挂载后的 sdb 详情
[root@localhost ~]# mount
//省略不重要的。。。。。。
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  //在最后一行可以看到sdb的详情。

  • 卸载(在卸载挂载后的情况下,还是可以使用 mount 继续挂载的)
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls        //进入mnt目录下之后可以看出里面什么都没有
[root@localhost mnt]# touch 1.txt 2.txt     //创建1.txt和2.txt文件
[root@localhost mnt]# mkdir 23333  //创建23333目录
[root@localhost mnt]# ls
1.txt  23333  2.txt
[root@localhost mnt]# umount /dev/sdb    //使用umount卸载磁盘
umount: /mnt:目标忙。                    //因为我们在/mnt目录下所以卸载不了 《这种情况我们可以加一个参数 l 这样的话就可以卸载了》
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@localhost mnt]# cd      //退出/mnt/目录
[root@localhost ~]# umount /dev/sdb  //卸载磁盘
Try 'df --help' for more information.
[root@localhost ~]# df -h        //可以看出已经被卸载了。
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root   18G  1.2G   17G    7% /
devtmpfs             482M     0  482M    0% /dev
tmpfs                493M     0  493M    0% /dev/shm
tmpfs                493M  6.8M  486M    2% /run
tmpfs                493M     0  493M    0% /sys/fs/cgroup
/dev/sda1            197M  117M   81M   60% /boot
tmpfs                 99M     0   99M    0% /run/user/0    

## 四, 手动增加 swap 空间

“dd”:用于操作磁盘的命令(可读可写) if:读取位置 of:写入位置 bs:=block size 块大小
count:磁盘大小(此处 =100*1M)

[root@adai002 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100  手动创建一个新分区
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,5.72931 秒,18.3 MB/秒
[root@adai002 ~]# du -sh /tmp/newdisk
100M	/tmp/newdisk
[root@adai002 ~]# mkswap /tmp/newdisk  格式化该swap分区
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=d42e907a-aae0-4d5f-bf58-586fac415f48
[root@adai002 ~]# free -m  
              total        used        free      shared  buff/cache   available
Mem:            984         114         626           6         244         706
Swap:          2047           0        2047
[root@adai002 ~]# swapon /tmp/newdisk  挂载到原swap分区
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@adai002 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            984         114         626           6         244         707
Swap:          2147           0        2147
[root@adai002 ~]# chmod 0600 /tmp/newdisk  更改权限以保安全
[root@adai002 ~]# swapoff /tmp/newdisk   卸载分区
[root@adai002 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            984         114         626           6         244         707
Swap:          2047           0        2047
[root@adai002 ~]# rm -f /tmp/newdisk