1. 程式人生 > >mount和自動掛載

mount和自動掛載

詳解 service oot 掛載移動硬盤 擴展 not nod oop host

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

1exec/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

========================================================

2async,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

3acl

[[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和自動掛載