Linux 文件系統掛載


文件系統掛載簡介
  磁盤分區和格式化完成后,磁盤分區要想能夠使用,就需要掛載,在掛載某個分區前需要先建立一個掛載點
  掛載:將新的文件系統關聯至當前根文件系統
  卸載:將某文件系統與當前根文件系統的關聯關系移除;卸載時設備沒有進程在使用
  掛載點:作為要掛載文件系統的訪問入口;掛載點事先必須存在;不會被進程使用到的目錄;掛載點下原有文件將會被臨時隱藏

文件系統掛載管理工具
  mount 不跟任何參數顯示當前系統已經掛載的設備及掛載點
  cat /proc/mounts 顯示內核中掛載的設備,mount命令就是去讀取該文件顯示出來
  cat /etc/mtab mount命令去掛載和卸載的操作信息會記錄到該文件,也可以顯示系統掛載的設備
  mount [options] -t FSTYPE -o [option] 設備名稱 掛載點
  [options] 命令選項
  -n        掛載后不更新操作記錄到/etc/mtab文件
  --bind dir1 dir2 將dir1掛載到dir2上,使得dir2也能訪問dir1的文件(綁定某個目錄到另外一個目錄)
  -t FSTYPE     指定掛載的文件系統類型
  -r        只讀掛載
  -w        讀寫掛載
  -L LABLE     指定卷標名,用卷標名字掛載;也可以使用LABLE="lable"
  -U UUID      使用UUID掛載,也可以使用 UUID="uuid"
  -a         自動掛載所有/etc/fstab配置文件中定義的掛載

  -o [options] 掛載時啟動分區特性(多選項用逗號隔開)
    async    異步I/O數據的寫入先緩存在內存中,再寫入硬盤;數據寫入硬盤會有延遲,突然斷電數據會丟失
   sync    同步I/O數據同步寫入硬盤,頻繁操作IO,影響性能
   auto/noauto 是否能夠被mount -a自動掛載
   dev/nodev  是否能創建設備文件
   diratime/nodirtime 是否更新目錄的訪問時間戳
   exec/noexec 是否允許執行二進制程序
   suid/nosuid 是否能設置文件的SUID,SGID權限位
   user/nouser 是否允許普通用戶掛載此設備(默認管理員才能掛載)
   ro     只讀掛載
   rw     讀寫掛載
   remount   重新掛載
   acl     啟用文件此文件系統上的acl功能
   _netdev   掛載NFS網絡文件系統時候,如果網絡功能還沒起來,可能導致掛載進程一直卡住,此選項可以停止掛載此網絡設備
   atime/noatime 是否更新文件的訪問時間戳,不是特別重要的文件,建議noatime
   relatime/norelatime 是否實時更新atime
   strictatime/nostrictatiom 是否實時更新atime(這三個參數不同的內核版本或文件系統類型可能生效的參數不一樣)
  如果默認掛載沒指定選項默認選項是:rw,suid,dev,exec,auto,nouser,async

  dd命令
  cp命令復制文件是以文件為單位復制的,是先將文件信息讀取到內存中,在將內存中的信息存儲到硬盤的目標位置(需要經過虛擬文件系統VFS)
  dd命令復制底層的數據流(硬盤底層的0和1代碼,不經過VFS)
  dd if=input_file of=output_file
  dd if=input_file of=output_file bs=#[b|k|m|g] count=#
   bs   一次讀多大數據量
   count 讀取次數
   if   輸入文件
   of   輸出文件

  制作光盤文件:
  dd if=/dev/cdrom of=/tmp/linux.iso
  cat /dev/cdrom > /tmp/linux.iso
  備份啟動盤的MBR信息:
  dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
  還原MBR信息:
  dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1

  拷貝內存資料到硬盤
  dd if=/dev/mem of=/root/mem.bin bs=1024
  將內存里的數據拷貝到root目錄下的mem.bin文件

  從光盤拷貝iso鏡像
  dd if=/dev/cdrom of=/root/cd.iso
  拷貝光盤數據到root文件夾下,並保存為cd.iso文件

  銷毀磁盤數據
  dd if=/dev/urandom of=/dev/sda1
  利用隨機的數據填充硬盤,在某些必要的場合可以用來銷毀數據。執行此操作以后,/dev/sda1將無法掛載,創建和拷貝操作無法執行。

  測試硬盤讀寫速度
  dd if=/root/1Gb.file bs=64k | dd of=/dev/null
  dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
  通過上兩個命令輸出的執行時間,可以計算出測試硬盤的讀/寫速度

  修復硬盤
  dd if=/dev/sda of=/dev/sda
  當硬盤較長時間(比如1,2年)放置不使用后,磁盤上會產生消磁點。當磁頭讀到這些區域時會遇到困難,並可能導致I/O錯誤。當這種情況影響到硬盤的第一個扇區時,可能導致硬盤報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。

  掛載光盤設備:
  光盤設備文件:
  IDE口光驅設備: /dev/hdc
  SATA口光驅設備: /dev/sr0
  符號鏈接文件(鏈接到上面的設備文件):/dev/cdrom、/dev/cdrw、/dev/dvd、/dev/dvdrw

  mount -t iso9660 -r /dev/cdrom /media/cdrom
  umount /dev/cdrom

  開機自動掛載
 /etc/rc.d/rc.sysinit系統初始化腳本其中一個功能是掛載/etc/fstab文件中定義的文件系統掛載表(每條記錄6個字段)
# /etc/fstab
# Created by anaconda on Sat Jul 16 14:42:59 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a9e077c4-fa4c-4189-a593-6f33ff40a4f1  /    ext4 defaults 1 1
UUID=92c80024-7269-4b0a-8d58-781dbc0114a2  swap swap defaults 0 0
tmpfs  /dev/shm tmpfs     defaults                   0 0
devpts /dev/pts devpts     gid=5,mode=620           0 0
sysfs  /sys sysfs         defaults               0 0
proc  /proc proc        defaults               0 0

  要掛載的設備:設備文件名稱、也可以指定UUID="uuid"、LABEL="LabName"、偽文件系統名稱進行掛載
  掛載點:有的文件系統沒有掛載點 swap沒有掛載點,掛載點為swap
  文件系統類型:指定掛載文件系統類型
  掛載選項:默認為defaults,使用默認掛載選項;要使用某個選項的時候通過逗號隔開添加
  轉儲頻率:(每多少天做一次文件系統完全備份),0表示不做備份,該項現在很少使用
   0 從不備份
    1 每日備份
    2 每隔一天備份
   文件系統開機自檢測次序:(0表示不檢查,只有根可以為1);開機的時候要檢查文件系統
    1  首先自檢,通常只能被根/使用
    2-9 表示自檢順序
    0  從不自檢

  umount 卸載設備
  umount Device
  umount Mount_Point

  如果卸載設備出現device is busy報錯,則表示該文件系統正在被使用,可以使用以下命令
 fuser 找出正在使用某個目錄所有進程
 fuser -v 掛載點 顯示那些進程訪問掛載文件
 fuser -km 掛載點 強制剔除shell進程
  -u 除了進程的PID之外,同時列出該進程的擁有者      
  -m 列出所有使用某個目錄的進程號
  -v 可以列出每個文件與進程還有指令的完整相關性
  -k 找出使用掛載點中文件或目錄的 PID ,以 SIGKILL這個信號殺死該 PID
  -i 與-k結合使用,交互式模式,殺死前會詢問用戶
  -signal 例如 -1 -15 ,若不加的話,預設是 SIGKILL (-9)

  lsof
  lsof 掛載點 可以使用命令lsof查看正在被使用的文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM