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/

上一篇:消息队列 Kafka 的基本知识及 .NET Core 客户端


下一篇:C# Excel数据导入到数据库