1. 程式人生 > >磁碟及檔案系統掛載

磁碟及檔案系統掛載

硬碟新增後識別: 

echo '- - -' > /sys/class/scsi_host/host0/scan 識別硬碟
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan

檔案系統管理工具:
  建立檔案系統工具:
    mkfs
      mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,...
  檢測及修復檔案系統工具
    fsck
      fsck.ext2,fsck.ext3,...
  檢視其屬性的工具
    dumpe2fs,tune2fs
  調整檔案系統特性:
    tune2fs

 

blkid命令:檢視檔案系統屬性
blkid device:檢視裝置UUID及檔案系統型別;
blkid -L LABEL:根據卷標查詢裝置;
blkid -U UUID:根據UUID查詢裝置;

 

dumpe2fs命令:顯示ext系列檔案系統的屬性資訊
dumpe2fs [-h] device
例如:
]# dumpe2fs /dev/sdb5:同tune2fs -l,顯示超級塊資訊,還能顯示每個快組的資訊;
]# dumpe2fs -h /dev/sdb5:同tune2fs -l /dev/sdb5,顯示超級塊資訊;


  lsblk命令:檢視塊裝置
  lsblk 檢視的是block device,也就是邏輯磁碟大小。
  df檢視的是file system, 也就是檔案系統層的磁碟大小。

  df命令:report file system disk space usage,檢視磁碟使用狀態;
    df [OPTION]... [FILE]...
      -h:human-readable,單位換算,易於人讀;
      -l:檢視本地磁碟檔案系統;
      -i:檢視inode使用情況而非blocks;

  du命令:estimate file space usage,評估檔案空間大小
    du [OPTION]... [FILE]...
      -s:彙總顯示,即顯示目錄,包括目錄下所有檔案的大小之和;
      -h:單位換算;


  fdisk命令:
    1、檢視磁碟分割槽表
      fdisk -l [DISK]
      不跟DISK檢視當前所有磁碟資訊,跟DISK檢視指定磁碟資訊;
    2、管理分割槽
      fdisk DISK
      互動式管理分割槽;
      互動式介面:管理機制是通過各子命令實現的,是在記憶體中修改,儲存後才能生效;

      常用命令:

n:建立新分割槽;
d:刪除已有分割槽;
t:修改分割槽型別;
l:檢視所有已經分割槽ID;
w:儲存並退出;
q:不儲存退出;
m:檢視幫助資訊;
p:顯示現有分割槽資訊;

    注意:在已經分割槽並且掛載其中的某個分割槽的磁碟裝置上建立新的分割槽時,儲存退出後核心可能無法直接識別此新分割槽;

  blkid:塊裝置屬性資訊檢視
    blkid [OPTION]... [DEVICE]
      -U UUID: 根據指定的UUID來查詢對應的裝置
      -L LABEL:根據指定的LABEL來查詢對應的裝置

  e2label:管理ext系列檔案系統的LABEL
    e2label DEVICE [LABEL]

  同步磁碟分割槽
    檢視:cat /proc/partitions
    通知核心強制重讀分割槽表:
    CentOS 5,7:partprobe [device]
    CentOS 6,7:partx,kpartx
    partx -a [device]
    kpartx -af [device]

    partx -d --nr 6 /dev/sda 刪除分割槽後的同步,數字6為被刪除的sda6分割槽


  注意:一定不要在掛載狀態下修復
  fsck: File System Check
    fsck.FS_TYPE
    fsck -t FS_TYPE
      -p: 自動修復錯誤
      -r: 互動式修復錯誤
    FS_TYPE一定要與分割槽上已經檔案型別相同

  e2fsck:ext系列檔案專用的檢測修復工具
    -y:自動回答為yes
    -f:強制修復

 

  檢視正在訪問指定檔案系統的程序
    lsof MOUNT_POINT
    fuser -v MOUNT_POINT

  終止所有在正訪問指定的檔案系統的程序
    fuser -km MOUNT_POINT

 

  /etc/mtab 此目錄在有掛載動作時隨時自動更新

  findmnt命令:
    判斷路徑是不是掛載點

  [[email protected] ~]# mount -o remount,noexec /root/book 注意!! remount,noexec之間逗號兩邊不能有空格,否則無效


  mknod命令:
    建立裝置檔案
    mknod DEVNAME {b | c} MAJOR MINOR

  losetup命令:
    對映裝置檔案和塊檔案裝置,可以指定裝置檔案的編號
    losetup /dev/loop8 /mnt/part

 

  loop裝置:

使用dd命令建立一個檔案,然後使用檔案格式化命令進行格式化,再掛載即可使用
dd if=/dev/zero of=/root/part1 bs=1M count=1024 建立檔案大小
mkfs.ext4 /root/part1 格式化檔案格式
mount /root/part1 /app 掛載
vim /etc/fstab 修改配置檔案,重啟自動掛載

使用losetup命令可以給loop裝置指定編號,首先使用mknod建立裝置檔案並編號,然後使用losetup對映loop檔案和裝置編號
mknod /dev/loop8 b 7 8
losetup /dev/loop8 /mnt/part2
至此part2掛載時使用的裝置編號為/dev/loop8,而不是按順序自動編號

修改loop檔案最大數限制
vim /boot/grub/grub.conf
在kernel 這行的最後加上max_loop= 你需要的數字,重啟後便有這麼多個裝置

注意!!僅對6有意義,7的系統會按需自動建立,重啟機器會丟失,除非寫進檔案,並且6的系統在編寫配置檔案時需要註明loop
  /root/partfile /app xfs defaults,loop 0 0

資料夾的掛載需要在後面註明bind
  /root/bin/ /app xfs defaults,bind 0 0


裝置的自動掛載
  修改/etc/fstab格式如下:支援卷標,UUID,裝置名

/dev/mapper/centos_centos7-root                              /              xfs    defaults   0 0
UUID=0cb3d030-38b4-47bb-9bf8-71cd901a4c16     /boot       xfs    defaults    0 0
/dev/mapper/centos_centos7-home                           /home     xfs    defaults    0 0
/dev/mapper/centos_centos7-swap            swap      swap      defaults         0 0
/dev/sda7                    /app    xfs         defaults    0 0

  然後使用命令/mount -a,掛載生效
  注意!!!已經掛載的裝置,修改屬性後再使用mount -a不生效,需要使用remount重新啟用

  當掛載檔案出問題時可能會出現系統無法啟動的故障,
  排除方法:以root賬號進入系統,當前狀態是隻讀,使用命令mount -o remount,rw / 
  重新掛載根檔案目錄,修改為讀寫,然後進入配置檔案/etc/fstab進行修改

 

 


swap分割槽與掛載
  swap分割槽儘量使用硬碟的第一個分割槽,因為在磁碟的外圈,執行速度更快
  分割槽時fdisk命令分配空間後,用t選項改為82swap格式
    1.建立檔案格式
      mkswap /dev/sdb1
    2.寫入配置檔案
      0cb3d030-38b4-47bb-9bf8-71cd901a4c17   swap    swap   defaults   0 0
    3.啟動快取
      swapon -a
    4.檢視快取的分割槽
      swapon -s
    5.swap的優先順序調整: 把使用外圈磁碟的swap分割槽優先順序調為更高能提高效能
      首先free命令檢視快取是否有使用,如果沒有,再關閉要調整的分割槽
        swapoff /dev/sda7
      修改配置檔案pri=1,0到32767的優先順序,值越大優先順序越高
        0cb3d030-38b4-47bb-9bf8-71cd901a4c17   swap   swap   pri=1  0 0
      然後swapon -a 開啟

  刪除swap分割槽
    先使用free命令檢視要刪除的分割槽是否有使用
    然後swapoff關閉,再修改配置檔案

  使用磁碟檔案配置swap分割槽
    1.首先使用dd命令分配一個需要大小的檔案
      dd if=/dev/zero of=/root/swapfile bs=1M count=1024
    2.然後格式化檔案系統
      mkswap /root/swapfile
    3.修改配置檔案 最好還是使用UUID,使用檔案做swap優先順序儘量低
      /root/swapfile swap swap defaults 0 0
    4.然後啟用
      swapon -a