linux存储管理之mount挂载
Mount 挂载详解
====================================================================================
本节内容:
常用挂载选项详解
挂载设备文件、卷标、UUID
ISO文件创建及挂载
挂载选项 -t 文件系统类型 -o 选项1,选项2...
示例:
mount -t ext4 -o acl /dev/sdb1 /mnt/disk1
文件系统类型:ext4,xfs,nfs,cifs,iso9660,loop
例1:exec/noexec
[root@localhost ~]# mount /dev/vg01/lv01 /mnt/lv01
[root@localhost ~]# mount -o noexec /dev/vg01/lv02 /mnt/lv02
[root@localhost ~]# cp -rf /bin/date /mnt/lv01
[root@localhost ~]# cp -rf /bin/date /mnt/lv02
[root@localhost ~]# /mnt/lv01/date
Fri Jan 10 10:40:21 CST 2014
[root@localhost ~]# /mnt/lv02/date
-bash: /mnt/lv02/date: Permission denied
[root@localhost ~]# mount
/dev/mapper/vg01-lv01 on /mnt/lv01 type ext4 (rw)
/dev/mapper/vg01-lv02 on /mnt/lv02 type ext4 (rw,noexec)
没有指定任何选项,则为默认选项 man mount
defaults
Use default options: rw, suid, dev, exec, auto,
nouser, async, and relatime.
常见的挂载选项
rw 读写
ro 只读
suid 支持suid
dev 支持设备文件
nodev 不支持设备文件
noexec 不允许执行二进制文件
exec 允许执行二进制文件
auto mount -a 开机自动挂载
noauto mount -a 开机不自动挂载
async 异步写入
sync 同步同入
noatime 不更新访问时间atime
usrquota 支持用户级磁盘配额功能
grpquota 支持组级磁盘配额功能
acl 支持acl功能
remount 在线重新挂载
pri 指定优先级
====================================================================================
Relatime 驱动器访问优化
POSIX 标准要求操作系统维护记录每个文件最后一次被访问的文件系统元数据。这个时间戳被称为atime,
维护它需要一个重复的对存储的写入操作。这些写入操作让存储是设备及其连接保持忙碌和通电状态。因
为很少应用程序会使用 atim e 数据,所以这个存储设备活动是在浪费电力。特别是即使没有从存储中读取
该文件也会发生写入存储的事件,但是从缓冲中写入。有时,Linux 内核还支持 mount 的 noatime选项,并
不在使用此选项挂载的文件系统中写入 atime。但是只是关闭这个特性是有问题的,因为有些应用程序会依
赖 atime 数据,并在此数据不可用时失败。
红帽企业版 Linux 6 使用的内核之后此另一个可替换选项 -relatime。Relatime 维护 atime数据,但不是
每次访问该文件时都更改。启用这个选项,则只在上次更新 atime(mtime)后修改该文件时,或者最后一次
访问该文件是在相当长一段时间前(默认为一天)时才会将 atime 数据写入磁盘。
默认情况下,所有现在挂载的文件系统都启用 relatime。要在整个系统中限制这个特性,请使用 boot 参
数 default_relatime=0。如果默认在某个系统中启用 relatime,您可以通过使用选项 norelatime
挂载某个系统来限制它在某个具体文件系统中的使用。最后,要使系统更新文件的 atime 数据的默认周期
有所不同,请使用 relatime_interval= 引导参数,以秒为单位指定周期。默认值为 86400。
注:RHEL6开始relatime,atime延迟修改,必须满足其中一个条件:
1. 自上次atime修改后,已达到86400秒;
2. 发生写操作时;
====================================================================================
例2:async,sync
[root@localhost ~]# mount /dev/vg01/lv01 /mnt/lv01
[root@localhost ~]# mount -o sync /dev/vg01/lv02 /mnt/lv02
[root@localhost ~]# mount
/dev/mapper/vg01-lv01 on /mnt/lv01 type ext4 (rw)
/dev/mapper/vg01-lv02 on /mnt/lv02 type ext4 (rw,sync)
[root@localhost ~]# time cp -rf /etc /mnt/lv01
[root@localhost ~]# time cp -rf /etc /mnt/lv02
例3:acl
[root@localhost ~]# vim /etc/fstab
/dev/mapper/vg01-lv01 /mnt/lv01 ext4 defaults,acl 0 0
[root@localhost ~]# mount -o remount /mnt/lv01
[root@localhost ~]# mount
/dev/mapper/vg01-lv01 on /mnt/lv01 type ext4 (rw,acl)
挂载时可以使用(针对基本分区)
设备名 /dev/sda3
卷标 LABEL=yang
UUID UUID="353a34b8-9233-465c-b7cf-92c8d308c05b"
UDEV 可以给设备建立一个别名
例4:使用卷标挂载
[root@localhost ~]# tune2fs -l /dev/vda1 |less
Filesystem volume name: <none>
[root@localhost ~]# tune2fs -L yang /dev/sda3 //设置卷标LABEL
tune2fs 1.39 (29-May-2006)
[root@localhost ~]# vim /etc/fstab
LABEL=yang /mnt/disk1 ext4 defaults 0 0
例5:使用UUID挂载
[root@localhost ~]# blkid /dev/sda5
/dev/sda5: UUID="353a34b8-9233-465c-b7cf-92c8d308c05b" SEC_TYPE="ext2" TYPE="ext3"
[root@localhost ~]# vim /etc/fstab
UUID="353a34b8-9233-465c-b7cf-92c8d308c05b" /mnt/disk1 ext4 defaults 0 0
挂载ISO文件
1. 将光盘制作成iso
[root@localhost ~]# dd if=/dev/cdrom of=/rhel6.iso
[root@localhost ~]# dd </dev/cdrom >/rhel6.iso
2. 将文件制作成iso,例如将/etc制作成etc.iso
[root@localhost ~]# genisoimage -o /tmp/etc.iso -r /etc
[root@localhost ~]# file /tmp/etc.iso
/var/etc.iso: ISO 9660 CD-ROM filesystem data 'CDROM '
3. 使用iso,挂载
[root@localhost ~]# mount -t iso9660 -o loop /tmp/etc.iso /mnt/iso/