fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯,lvm

掛載點和/etc/fstab

? 配置文件系統體系
? 被mount、 fsck和其它程序使用
? 系統重啟時保留文件系統體系
? 可以在設備欄使用文件系統卷標
? 使用mount -a 命令掛載/etc/fstab中的所有文件系統

文件掛載配置文件

? /etc/fstab 每行定義一個要掛載的文件系統;
    ? 要掛載的設備或偽文件系統
    ? 掛載點
    ? 文件系統類型
    ? 掛載選項
    ? 轉儲頻率
    ? 自檢次序
? 要掛載的設備或偽文件系統:
    設備文件、 LABEL(LABEL="")、 UUID(UUID="")、偽文件系統名稱(proc,sysfs)
? 掛載選項: defaults
? 轉儲頻率: 0:不做備份
            1:每天轉儲
            2:每隔一天轉儲
? 自檢次序: 0:不自檢
        1:首先自檢;一般只有rootfs才用1

處理交互文件和分區

? 交換分區是系統RAM的補充
? 基本設置包括:
    ? 創建交換分區或者文件
    ? 使用mkswap寫入特殊簽名
    ? 在/etc/fstab文件中添加適當的條目
    ? 使用swapon -a 激活交換空間

掛載交換分區

? 啟用: swapon
    swapon [OPTION]... [DEVICE]
        -a:激活所有的交換分區;
        -p PRIORITY:指定優先級
        /etc/fstab:pri=value
    ? 禁用: swapoff [OPTION]... [DEVICE]

SWAP的優先級

? 用戶可以給某個swap指定一個0到32767的優先級
? 如果用戶沒有指定,那么核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有用戶指定優先級的swap,會給這個優先級減一。
? 先添加的swap的缺省優先級比較高,除非用戶自己指定一個優先級,而用戶指定的優先級(是正數)永遠高于核心缺省指定的優先級(是負數)。
? 優化性能:分布存放,高性能磁盤存放

移動介質

? 掛載意味著使外來的文件系統看起來如同是主目錄樹的一部分
? 訪問前、介質必須被掛載
? 摘除時,介質必須被卸載
? 按照默認設置,非根用戶只能掛載某些設備(光盤、 DVD、軟盤、 USB等等)
? 掛載點通常在/media 或/mnt下

使用光盤

? 在圖形環境下自動啟動掛載/run/media/<user>/<label>
? 否則就必須被手工掛載
    mount /dev/cdrom /mnt/
? eject命令卸載或彈出磁盤
? 創建ISO文件
    cp /dev/cdrom /root/centos7.iso
    mkisofs -r -o /root/etc.iso /etc
? 刻錄光盤
    wodim –v –eject centos.iso

掛載USB介質

? 被內核探測為SCSI設備
    ? /dev/sdaX、 /dev/sdbX、或類似的設備文件
? 在圖形環境中自動掛載
    ? 圖標在[計算機]窗口中創建
    ? 掛載在/run/media/<user>/<label>
? 手動掛載
    ? mount /dev/sdb1 /mnt

常見工具

? 內存空間使用狀態:
    free [OPTION]
        -m: 以MB為單位
        -g: 以GB為單位
? 文件系統空間占用等信息的查看工具:
    df [OPTION]... [FILE]...
        -H 以1000為單位
        -T 文件系統類型
        -h: human-readable
        -i: inodes instead of blocks
        -P: 以Posix兼容的格式輸出
? 查看某目錄總體空間占用狀態:
    du [OPTION]... DIR
        -h: human-readable
        -s: summary

工具dd

? dd命令: convert and copy a file
? 用法:
    dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
    bs=#: block size, 復制單元大小
    count=#:復制多少個bs
? of=file 寫到所命名的文件而不是到標準輸出
    if=file 從所命名文件讀取而不是從標準輸入
    bs=size 指定塊大小(既是是ibs也是obs)
    ibs=size 一次讀size個byte
    obs=size 一次寫size個byte
    cbs=size 一次轉化size個byte
    skip=blocks 從開頭忽略blocks個ibs大小的塊
    seek=blocks 從開頭忽略blocks個obs大小的塊
    count=n 只拷貝n個記錄

    ? conv=conversion[,conversion...] 用指定的參數轉換文件。
    ? 轉換參數:
    ? ascii 轉換 EBCDIC 為 ASCII
    ? ebcdic 轉換 ASCII 為 EBCDIC
    ? block 轉換為長度為 cbs 的記錄,不足部分用空格填充。
    ? unblock 替代cbs長度的每一行尾的空格為新行
    ? lcase 把大寫字符轉換為小寫字符
    ? ucase 把小寫字符轉換為大寫字符
    ? swab 交換輸入的每對字節。
    ? noerror 出錯時不停止
    ? notrunc 不截短輸出文件。
    ? sync 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊

? 磁盤拷貝:
    dd if=/dev/sda of=/dev/sdb
? 備份MBR:
    dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
? 破壞MBR中的bootloader:
    dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
? 有二進制文件 fileA, size>2K?,F在想從第64個字節位置開始讀取,需要讀取的大小是128Byts。又有fileB, 想把上面讀取到的128Bytes寫到第32個字節開始的位置,替換
128Bytes,請問如何實現?
    #dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc

?備份:
    dd if=/dev/sdx of=/dev/sdy
    將本地的/dev/sdx整盤備份到/dev/sdy
    dd if=/dev/sdx of=/path/to/image
    將/dev/sdx全盤數據備份到指定路徑的image文件
    dd if=/dev/sdx | gzip >/path/to/image.gz
    備份/dev/sdx全盤數據,并利用gzip工具進行壓縮,保存到指定路徑
?恢復:
    dd if=/path/to/image of=/dev/sdx
    將備份文件恢復到指定盤
    gzip -dc /path/to/image.gz | dd of=/dev/sdx
    將壓縮的備份文件恢復到指定盤

? 拷貝內存資料到硬盤
    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將無法掛載,創建和拷貝操作無法執行。

? 得到最恰當的block size
dd if=/dev/zero bs=1024 count=1000000
    of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000
    of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000
    of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000
    of=/root/1Gb.file
通過比較dd指令輸出中所顯示的命令執行時間,即可確定系統最佳的block size大小

? 測試硬盤讀寫速度
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錯誤。當這種情況影響到硬盤的第一個扇區時
,可能導致硬盤報廢。上邊的命令有可能使這些數據起死
回生。且這個過程是安全,高效的。

mount

1、掛載iso文件

dd if=/dev/sr0 of=/testdir/centos6.iso 
mount -o loop /testdir/centos6.iso /mnt/centos.ios
vim /etc/fstab
 /testdir/centos6.iso    /mnt/centos.ios         iso9660    loop            0 0  
mount -a
mount

fstab配置文件、swap分區,文件關聯

注意:mount -a 是/etc/fstab里新有了配置文件,執行一次mount -a新的配置可以生效。但是,要是修改配置文件的話mount -a則沒有效果。這時候需要使用mount -o remount /dev/sd* 使用 loop 模式用來將一個檔案當成硬盤分割掛上系統

2、mount -B /boot /mnt/boot或者:mount –bind /boot /mnt/boot

綁定目錄到另一個目錄上
注意:文件夾掛文件夾,在df下是看不到的。要mount才能看到
fstab的寫法
/mnt/etc /mnt/usr  none  bind   0  0

實驗:驗證fstab文件是網卡啟動之前掛載,還是之后掛載。
結論:如果fstab里面文件有錯誤,而且是要檢測的話,系統就起不來了

fstab配置文件、swap分區,文件關聯

這里建議寫0

/etc/fstab 設備名出錯,自檢非0,開機會導致無法啟動。
修復方法:
起不來系統會提示重啟,還是繼續操作,這時候輸入root密碼會進入系統。進去修改/etc/fstab文件。但這里修改好以后無法保存退出,因為文件是只讀的。根里也不讓修改。這時候重掛一下根mount -o remount,rw /   就可以修改/etc/fstab文件了,這時候系統就可以啟動了。

swap分區掛載

注意:swap用mount是看不到的,
swap對硬盤的要求會高一點,swap新的分區放在硬盤的最外道。sdc1或sdb1,分盤時用最前面的。

swap的創建

方法一:

1、fdisk  -t 82  創建一個分區
2、mkswap /dev/sdc1  這一步是格式化(比較特殊)。執行這一步lsblk之后才能發現分區的類型變成swap。swapon /dev/sdb1 啟動交換分區 swapoff /dev/sdb1  禁用交換分區
3、在配置文件里寫
/dev/sdc1   swap swap defaults,pri=100  0 0(注意優先級)
4、swapon -a 讀/etc/fstab 生效(swapon -s 可以先查看哪些交換分區有效)
5、free查看,swap變大了

fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯

注意:修改完優先級以后,要先swapoff /dev/sdb1,先禁用,再swapon -a 啟用(注意:這里如果用swapon /dev/sdb1,則優先級就不會改變,因為這樣就不會去讀/etc/fstab文件了,所以一定要用swapon -a),這時才會生效

刪除swap分區
swapoff /dev/sdb1
vim /etc/fstab 里刪除對應的行
fdisk /dev/sdb 刪除分區

方法二:(事實上,有時候會沒有額外的分區當swap分區。所以可以用文件來當swap)

用文件創建swap分區
dd if=/dev/zero of=/testdir/partfile bs=1M count=1024
mkswap /testdir/swapfile
blkid /testdir/swapfile
vim /etc/fstab
/testdir/swapfile   swap    swap pri=100  0 0
swapon -s 查看swap分區
swapon -a 讀/etc/fstab 生效
swapon -s 查看swap分區

刪除swap文件
swapoff /testdir/swapfile
rm /testdir/swapfile
刪除vim /etc/fstab里對應的



同樣的用文件當分區
dd if=/dev/zero of=/testdir/partfile bs=1M count=1024
mkfs.ext4  /testdir/partfile
blkid /testdir/partfile
mkdir /mnt/partfile
mount -o loop /testdir/partfile /mnt/partfile
cd /mnt/partfile
vim
/testdir/partfile    /mnt/partfile   ext4  loop  0  0   寫到配置文件里
這里實際上是一個文件,但用起來和分區一樣,備份直接把文件拷走

centos6 實現loop 設備和文件關聯

dd if=/dev/zero of=/testdir/bigfile bs=1M count=500
losetup  /dev/loop7 /testdir/bigfile 
mkfs.ext4 /testdir/bigfile
mount /dev/loop7  /mnt/bigfile/ 
losetup -a

fstab配置文件、swap分區,文件關聯

練習

? 1、創建一個2G的文件系統,塊大小為2048byte, 預留1%可
用空間,文件系統ext4,卷標為TEST,要求此分區開機后自
動掛載至/testdir目錄,且默認有acl掛載選項

fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯

fstab配置文件、swap分區,文件關聯

? 2、寫一個腳本,完成如下功能:
(1) 列出當前系統識別到的所有磁盤設備;
(2) 如磁盤數量為1,則顯示其空間使用信息;
否則,則顯示最后一個磁盤上的空間使用信息;

原創文章,作者:15152188070,如若轉載,請注明出處:http://www.www58058.com/42563

(1)
1515218807015152188070
上一篇 2016-09-01 08:49
下一篇 2016-09-01 08:49

相關推薦

  • 馬哥教育面授班22期:第一天課程練習

    Linux發展史:        1984年:Richard Stallman發起GNU項目和自由軟件基金會創建開源的UNIX實用工具版本        創建通用公共許可證(GPL)        1991年:Linux Torvalds發…

    Linux干貨 2017-05-16
  • 任務計劃2

    [root@localhost app]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/root/bin MAILTO=root   # For details see man 4 crontabs   # Example of job defi…

    Linux干貨 2017-05-15
  • 以水滸為例解釋文件權限

    關于文件權限的內容學起來比較繞,稍不注意就會把自己繞暈,這時候不如找一個例子來記憶,這樣記起來比較容易而且還會記憶深刻,接下來就以水滸為例解釋下關于文件權限方面的內容 桃園三結義,兄弟三人組成一個組,選劉備當大哥,兄弟三人都在這個組里 兄弟三人還是居無定所的,要給劉關張兄弟三人造個房子,給兄弟三人一個容身之所,而且給兄弟三人一人一個房間   但建好…

    2017-07-30
  • 學習宣言

    世界上沒有笨的人,只有不勤奮的人。嚴格按照學習計劃要求自己,努力完成學業,為自己以后的職業發展鋪平道路;

    Linux干貨 2016-10-25
  • iptables練習

    系統的INPUT和OUTPUT默認策略為DROP; 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機; 系統默認策略設定: ~]# iptables -P INPUT DROP ~]# iptables -P OUPUT DROP 網絡說明…

    Linux干貨 2016-12-27

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-01 13:03

    文檔功底相當不錯,也非常認真,很出彩,加油

欧美性久久久久