mount挂载和交换分区swap

目录

mount挂载
  挂载方法
  选项
  查看设备
卸载命令
文件挂载配置文件fstab
交换文件与分区
  swap优先级
三个工具free,df,du
扩展
  移动介质
  使用光盘
  挂载USB设备

mount挂载

挂载就是将文件系统与根目录文件系统某现存的目录建立起关联关系,进而使得此目录作为其他文件访问入口的行为。
有挂载自然会有卸载,卸载的命令是umount我们一样会说明。

注意:
  挂载点下原有文件在挂载完成后会被临时隐藏
  挂载点目录一般为空

挂载方法

    mount device mount_point  

  device:指明要挂在的设备
    设备文件,如:/etc/sda1
    卷标:-L 'label'
    UUID:-U 'UUID'
    伪文件系统名称:proc,sysfs,devtmpfs,configfs  

  mount_point:挂载点
    实现存在,建议使用空目录
    进程正在使用中的设备无法被卸载

选项:

    -t 指定文件系统类型

    -r 只读挂载

--remount,ro|rw 也会新/etc/fstab中的选项,如果与指定的冲突,则remount后指定的优先。

    -n 隐藏挂载信息不显示,但在/proc/mounts可以查到

    -a 读取/etc/fstab,挂载其中没有挂载的设备

    -L 'LABEL': 以卷标指定挂载设备

  -U 'UUID': 以UUID指定要挂载的设备

    -B --bind 目录挂目录

    -o 选项

        sync,async 同步,异步(defaults)

        atime(defaults),noatime 是否在读访问时更新atime

        diratime(defaults),nodiratime

auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载

    exec(defatuls)/noexec 在该分区所挂载的目录中的脚本是否可以执行。

        dev(defaults)/nodev:是否支持在此文件系统上使用设备文件

        suid(defaults)/nosuid:不否支持suid和sgid权限

        remount:重新挂载

        ro:只读

        rw:读写(defaults)

user/nouser(defaults):是否允许普通用户挂载此设备,默认管理员才能挂载

        acl:启用此文件系统上的acl功能

        loop: 使用loop设备

    defaults:相当于rw, nosuid, dev, exec, auto, nouser, async

查看设备

通过查看/etc/mtab文件显示当前已挂载的所有设备

    命令:cat /etc/mtab

[root@CT731 ~]#cat /etc/mtab | egrep "/dev/sd"
/dev/sda2 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
/dev/sda3 /app xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0

查看内核追踪到的已挂载的所有设备

命令:cat /proc/mounts

[root@CT731 ~]#cat /proc/mounts | grep "/dev/sd"
/dev/sda2 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
/dev/sda3 /app xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0

卸载命令

查看挂载情况

findmnt MOUNT_POINT|device

root@CT731 ~]#findmnt /dev/sda1
TARGET SOURCE    FSTYPE OPTIONS
/boot  /dev/sda1 xfs    rw,relatime,seclabel,attr2,inode64,noquota

查看正在访问指定文件系统的进程

lsof MOUNT_POINT

fuser -v MOUNT_POINT

[root@CT731 ~]#lsof /root
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
bash    33993 root  cwd    DIR    8,2     4096 100663361 /root
lsof    34392 root  cwd    DIR    8,2     4096 100663361 /root
lsof    34393 root  cwd    DIR    8,2     4096 100663361 /root
[root@CT731 ~]#fuser -v /root
                     USER        PID ACCESS COMMAND
/root:               root      33993 ..c.. bas

终止所有在正访问指定的文件系统的进程

fuser -km MOUNT_POINT

卸载

umount DEVICE

umount MOUNT_POINT

文件挂载配置文件fstab

在我们系统开机挂载时会首先在/etc/fstab中找到我们需要挂载的文件,使用mount –a一样会直接寻找fstab里面的没有挂载的文件系统进行挂载,所以fstab这个文件对于文件系统的挂载很是重要。

格式:

  设备文件   挂载点   文件系统类型   挂载选项   转储频率   自检次序

 要挂载的设备或伪文件系统

设备文件

  LABEL: LABEL=""

  UUID: UUID=""

  伪文件系统名称: proc, sysfs

交换文件与分区

  在某些时候,我们的内存可能不够用,此时我们需要将磁盘空间分出来一部分,充当临时的内存使用,由于磁盘与内存条的传输速度不一样,所以会让我们的机器很卡顿,但是无论如何,也比直接让内存饱和死机了好。

       我们可以创建一个分区或一个文件作为内存的临时交换空间,我们将对两种方法都进行说明。首先我们来看两个命令:

启用: swapon

  swapon [OPTION]... [DEVICE]

    -a:激活所有的交换分区;

    -p PRIORITY:指定优先级

    -s:显示优先级

    /etc/fstab:pri=value

禁用: swapoff [OPTION]... [DEVICE]

      -a:关闭配置文件"/etc/fstab"中所有的交换空间

分区方式

    1.首先,创建一个分区

    2.使用命令mkswap格式化分区为swap,可以用blkid查看

        mkswap /dev/sdaX

    3.写入到/etc/fstab里面

    4.使用free查看内存大小

    5使用swapon激活swap分区,如:swapon /dev/sda1

    6.free查看,完成

[root@CT731 ~]#free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        205M        1.3G         28M        306M        1.4G
Swap:          4.0G          0B        4.0G
[root@CT731 ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: wiping old ext4 signature.
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=8d4beabf-1365-4058-a109-bca7327c7b03
 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
 #
 UUID=38149b41-f60a-4c98-9180-0538412fb728 /                xfs     defaults    0 0
 UUID=01e8fa9d-ecad-4159-aabf-058af0c341f9 /app             xfs     defaults    0 0
 UUID=f75f5a9d-6056-484f-9499-f8abe34279e1 /boot            xfs     defaults    0 0
 UUID=35e32e02-9cab-45fd-8fe1-d3aa807c2599 swap             swap    defaults    0 0
 UUID=8d4beabf-1365-4058-a109-bca7327c7b03 swap             swap    defaults    0 0
 /dev/sr0                                /mnt/cdrom       iso9660   defaults    0 0
[root@CT731 ~]# swapon /dev/sdb1
[root@CT731 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        211M        1.3G         28M        306M        1.3G
Swap:           11G          0B         11G

文件方式:    

  创建一个足够大的文件,我们使用dd命令

  如:dd if=/dev/zero of=swap bs=1M count=4096

  将该文件格式化,mkswap /path/swap

  写入到/etc/fstab

  使用swapon激活

  查看free

  由于文件方式是基于磁盘中文件的,所以速度比着磁盘还要低。(不再演示)

swap优先级

可以指定swap分区0到32767的优先级,值越大优先级越高如果用户没有指定,那么核心会自动给swap指定一个优先级这个优先级从-1开始,每加入一个新的没有用户指定优先级的swap,会给这个优先级减一

先添加的swap的缺省优先级比较高,除非用户自己指定一个优先级,而用户指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数)

 优化性能:分布存放,高性能磁盘存放 

三个工具free,df,du

free:

内存空间使用状态:

free [OPTION]

-m: 以MB为单位

-g: 以GB为单位

[root@CT731 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1823         212        1304          28         306        1379
Swap:         12287           0       12287
[root@CT731 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        212M        1.3G         28M        306M        1.3G
Swap:           11G          0B         11G
[root@CT731 ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              1           0           1           0           0           1
Swap:            11           0          11

df:

文件系统空间占用等信息的查看工具:

df [OPTION]... [FILE]...

-H 以1000为单位

-T 文件系统类型

-h: human-readable

-i: inodes instead of blocks

-P: 以Posix兼容的格式输出

[root@CT691 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        50G  4.4G   43G  10% /
tmpfs           932M     0  932M   0% /dev/shm
/dev/sda3        50G   52M   47G   1% /app
/dev/sda1       2.0G   42M  1.8G   3% /boot
/dev/sr0        3.7G  3.7G     0 100% /mnt/cdrom
[root@CT691 ~]# df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda2      3276800 135803 3140997    5% /
tmpfs           238410      1  238409    1% /dev/shm
/dev/sda3      3276800     11 3276789    1% /app
/dev/sda1       131072     39  131033    1% /boot
/dev/sr0             0      0       0     - /mnt/cdrom

du:

查看某目录总体空间占用状态:

du [OPTION]... DIR

-h: human-readable

-s: summary

[root@CT691 ~]#du -hs /etc/
41M    /etc/
[root@CT691 ~]#du -s /etc/
41880    /etc/

扩展

移动介质

挂载意味着使外来的文件系统看起来如同是主目录树的一部分

访问前、介质必须被挂载

摘除时,介质必须被卸载

按照默认设置,非根用户只能挂载某些设备(光盘、 DVD、软盘、 USB等等)

挂载点通常在/media 或/mnt下

使用光盘

挂载光盘

    mount /dev/srX /mnt/cdrom

    注意:光盘必须存在,cdrom目录必须存在

 

    mount -o loop /root/centos69_1.iso /mnt/centos69

/root/centos69_1.iso /mnt/centos69 iso9660 defaults,loop 0 0

弹出光盘

    eject –r卸载并退出光盘

创建ISO文件

    cp /dev/cdrom /root/centos7.iso 源是设备,可以直接复制

mkisofs -r -o /root/etc.iso /etc 源是目录或文件

刻录光盘

wodim –v –eject centos.iso(几乎不再用)

挂载USB设备

手动挂载

mount /dev/sdb1 /mnt

查看USB设备是否识别

lsusb

posted @ 2017-08-28 22:03  Linuxbugs  阅读(2810)  评论(0编辑  收藏  举报