mount和自動掛載
Mount掛載詳解
常見操作: vfat文件系統類型
掛載U盤:
#mount -t vfat /dev/sdb4 /USB
-t:指定要訪問的類型
掛載移動硬盤:
#mount -t ntfs-3g /dev/sdb1 /USB
掛載鏡像文件:
#mount -t iso9660 rhel6u4.iso /cd-rom -o loop # loop選項用來掛載鏡像文件,如果只掛載光盤不用loop
iso:虛擬光盤文件,刻光盤時候用
掛載光盤:
#mount -t iso9660 /dev/cdrom /cd-rom
強烈建議:一個設備不要被掛載多次!!zi!
eject 彈出光盤 eject -t自動彈回去
掛載共享目錄
========================================================
掛載選項 -t 文件系統類型 -o 選項1,選項2...
示例: 選項
mount -t ext4 -o acl /dev/sdb1 /mnt/disk1
文件系統類型:ext4,nfs,cifs
例1:exec/noexec
[[email protected] ~]# mount /dev/vg01/lv01 /mnt/lv01
[[email protected] ~]# mount -o noexec /dev/vg01/lv02 /mnt/lv02
[[email protected] ~]# cp -rf /bin/date /mnt/lv01
[[email protected] ~]# cp -rf /bin/date /mnt/lv02
[[email protected] ~]# /mnt/lv01/date
Fri Jan 10 10:40:21 CST 2014
[[email protected] ~]# /mnt/lv02/date
-bash: /mnt/lv02/date: Permission denied
[[email protected] ~]# 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
nosuid 不支持suid
dev 支持設備文件
nodev 不支持設備文件
noexec 不允許執行二進制文件
exec 允許執行二進制文件
auto mount -a 開機自動掛載
noauto mount -a 開機不自動掛載
async 異步寫入 #很重要,每一個默認都是異步
sync 同步同入
noatime 不更新訪問時間atime
usrquota 支持用戶級磁盤配額功能
grpquota 支持組級磁盤配額功能
acl 支持acl功能
remount 在線重新掛載
========================================================
擴展知識: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。
========================================================
例2:async,sync
[[email protected] ~]# mount /dev/vg01/lv01 /mnt/lv01
[[email protected] ~]# mount -o sync /dev/vg01/lv02 /mnt/lv02
[[email protected] ~]# mount
/dev/mapper/vg01-lv01 on /mnt/lv01 type ext4 (rw)
/dev/mapper/vg01-lv02 on /mnt/lv02 type ext4 (rw,sync)
[[email protected] ~]# time cp -rf /etc /mnt/lv01
[[email protected] ~]# time cp -rf /etc /mnt/lv02
例3:acl
[[email protected] ~]# vim /etc/fstab
/dev/mapper/vg01-lv01 /mnt/lv01 ext4 defaults,acl 0 0
[[email protected] ~]# mount -o remount /mnt/lv01
[[email protected] ~]# 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:使用卷標掛載
[[email protected] ~]# tune2fs -L yang /dev/sda3 //設置卷標LABEL
tune2fs 1.39 (29-May-2006)
[[email protected] ~]# vim /etc/fstab
LABEL=yang /mnt/disk1 ext4 defaults 0 0
例5:使用UUID掛載
[[email protected] ~]# blkid /dev/sda5
/dev/sda5: UUID="353a34b8-9233-465c-b7cf-92c8d308c05b" SEC_TYPE="ext2" TYPE="ext3"
[[email protected] ~]# vim /etc/fstab
UUID="353a34b8-9233-465c-b7cf-92c8d308c05b" /mnt/disk1 ext4 defaults 0 0
擴展: dd </dev/cdrom > /dev/sdb/ ;eject
掛載ISO文件
1. 將光盤制作成iso
[[email protected] ~]# dd if=/dev/cdrom of=/rhel6.iso直接把物理光盤做成ISO#將光盤設備裏面的文件一點點刻成rhel6.iso這個東西,直到刻完為止;就得到一個iso文件
[[email protected] ~]# dd </dev/cdrom >/rhel6.iso
2. 將文件制作成iso,例如將/etc制作成etc.iso
[[email protected] ~]# genisoimage -o /tmp/etc.iso -r /etc genisoimage可以做鏡像文件-o指定輸出文件叫什麽名字
[[email protected] ~]# file /tmp/etc.iso
/var/etc.iso: ISO 9660 CD-ROM filesystem data ‘CDROM ‘
3. 使用iso,掛載
[[email protected] ~]# mount -t iso9660 -o loop /tmp/etc.iso /mnt/iso/
Autofs也叫Automount,也叫觸發掛載
Mount是臨時的,想永久的只有改fstab,但是fstab又太直接了;有些設備不希望臨時掛載;又不希望永久掛載;希望對於共享目錄,用時掛載,不用自動卸載,不可能把一個共享目錄也自動掛載上,用不用都掛著,沒必要;而Autofs是由需求產生的,掛載是由訪問產生的,卸載是由超時產生的;換句話講,如果我們不訪問,它是不掛載的;如果我們長期不訪問,過不了多長時間,例如5分鐘還是10分鐘;時間是可以設置的;如果我們不訪問,它就自動卸載掉了;這就是Autofs的機制;
Autofs有兩個配置文件,一個是主配置文件,一個是子配置文件;裏面記錄的是不同的內容;主配置文件記錄的叫監控目錄,也叫觸發目錄;所有的掛載都在你訪問的時候觸發產生的;主配置文件裏面所描述的是監控目錄在哪?Autofs裏面記錄了監控目錄,好處是用戶不管訪問哪個目錄,只要不訪問監控目錄;就和Autofs沒有關系;在子配置文件裏面記錄了每一個觸發目錄如果一旦被訪問,執行什麽掛載操作,具體的操作在子配置文件裏;這是Autofs的兩個配置文件;
例題:
一臺server做共享,另外一臺做Autofs訪問共享agent
[[email protected] ~]# mkdir /tmp/share #創建共享目錄
[[email protected] ~]# yum -y install nfs*
[[email protected] ~]# vi /etc/exports #是用來共享的 ;這是nfs網絡配置系統文件; 如果沒有共享就是空的
/tmp/share *(rw,sync) #/tmp/share 是要共享的目錄;*代表的是所有主機都可以訪問,如果要一臺主機訪問,就寫IP地址;sync指的是要同步共享
[[email protected] ~]# service nfs start #啟動服務,一般第一次都起不來,因為它依賴rpcbind服務 改完都重啟
如果起不來,就[[email protected] ~]# service rphbind start #這是遠程過程調用;把它起來,在重啟nfs
[[email protected] ~]# chkconfig nfs on #將其設置為開機自動啟動
[[email protected] ~]# cd /tmp/share/
[[email protected] share]# touch a{1..5} #在共享目錄下創建測試文件
[[email protected] share]# ls
a a1 a2 a3 a4 a5
[[email protected] ~]# yum -y install nfs* #agent不需要啟nfs服務
[[email protected] ~]# mkdir /abc #創建掛載點
[[email protected] ~]# mount -t nfs 192.168.145.128:/tmp/share /abc #先用mount測試一下能不能掛載
[[email protected] mount]# yum install nfs-utils* -y #如果手工掛載不上,解決方法:
[[email protected] ~]# cd /abc/ #進到掛載點,看看有沒有掛載好的東西
[[email protected] abc]# ls
a a1 a2 a3 a4 a5
[[email protected] abc]# umount /abc/
接下來講:automount按需掛載
[[email protected] ~]# mkdir /cdrom
[[email protected] ~]# cd /cdrom/
[[email protected] cdrom]# touch cdrom.file{1..5}
[[email protected] cdrom]# ls
cdrom.file1 cdrom.file2 cdrom.file3 cdrom.file4 cdrom.file5
[[email protected] cdrom]# genisoimage -o /iso.file.iso -r . #做成一個鏡像
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using CDROM000.FIL;1 for /cdrom.file4 (cdrom.file3)
Using CDROM001.FIL;1 for /cdrom.file3 (cdrom.file1)
Using CDROM002.FIL;1 for /cdrom.file1 (cdrom.file5)
Using CDROM003.FIL;1 for /cdrom.file5 (cdrom.file2)
Total translation table size: 0
Total rockridge attributes bytes: 584
Total directory bytes: 894
Path table size(bytes): 10
Max brk space used 0
175 extents written (0 MB)
[[email protected] cdrom]# ls
cdrom.file1 cdrom.file2 cdrom.file3 cdrom.file4 cdrom.file5
[[email protected] cdrom]# ls /iso.file.iso
[[email protected] cdrom]# yum -y install autofs* #安裝automount包
監控目錄是需要自己創建的
[[email protected] ~]# mkdir /mount
[[email protected] ~]# vim /etc/auto.master #打開主配置文件
6 /mount /etc/auto.misc #/etc/auto.misc裏面對應的是子配置文件;子配置文件裏面記錄的是當訪問觸發目錄執行什麽掛載操作;給我們一個模板,可配置文件模板,後面就是寫的auto.misc
[[email protected] ~]# vim /etc/auto.misc #打開子配置文件
6 #cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
16 share -ro 192.168.145.128:/tmp/share
17 cdrom -fstype=iso9660.ro.loop :/iso.file.iso
[[email protected] ~]# service autofs restart
[[email protected] ~]# cd /mount/ #進入到監控目錄
[[email protected] mount]# ls #雖說什麽都沒有
[[email protected] mount]# cd share #但是可以進去
[[email protected] share]# ls
a a1 a2 a3 a4 a5
[[email protected] share]# cd .. #當你退出來的時候
[[email protected] mount]# ls #就發現有這個目錄
Share #過幾分鐘不訪問,超時就會消失
[[email protected] mount]# grep ‘^TIMEOUT‘ /etc/sysconfig/autofs
TIMEOUT=300 #默認為5分鐘;超時時間,300秒後不訪問數據,自動卸載
mount和自動掛載