磁盤管理(二)之swap、dd工具使用

磁盤管理(二)之swap、dd工具使用

 

一、掛載點和/etc/fstab

  1)配置文件/etc/fstab,當系統啟動時,自動加載該文件,會把寫在配置文件里面的所有掛載點全部自動掛載上去,只要按照格式寫,就不會丟失。

  2)文件掛載配置文件,如下圖:

   blob.png 

/etc/fstab每行定義一個要掛載的文件系統;

  要掛載的設備或偽文件系統(設備文件、LABEL(LABEL="")、UUID(UUID="")、偽文件系統名稱(proc, sysfs)

       掛載點

       文件系統類型(光盤:iso9660;文件掛文件的類型則為:none,選項為bind

       掛載選項 defaults——相當于rw, suid, dev, exec, auto, nouser, async

       轉儲頻率(0:不做備份;1:每天轉儲;2:每隔一天轉儲)

       自檢次序(0:不自檢;1:首先自檢;一般只有rootfs才用1

3 使用mount -a 命令生效掛載在/etc/fstab中的所有文件系統

4)使用文件來模擬分區,用來測試格式化等操作(當磁盤空間已經全部分完),則可以使用下面的命令來創建:

     #dd if=/dev/zero of=/testdir/partfile bs=1M count=500

 blob.png

如上圖,同樣可以使用格式化命令mkfs.ext4都可以對該文件進行格式化。

當格式化完成后,使用命令blkid查看時是沒有改文件系統的,則需要使用mount命令來進行掛載,如下圖:

blob.png

但在掛載的過程中會出現下圖中錯誤,需要按照提示來添加相應的選項即可。

blob.png

掛載完成后,使用命令#mount,可以看到,這文件的掛載是映射到了/dev/loop上。通過這樣設置,可以通過文件來做“移動硬盤”使用。

 blob.png

(注:在CentOS6上,loop設備默認是8個;在CentOS7上,loop則是隨機生成,沒有數量上的限制。如果是使用loop設備來掛載,則使用命令#losetup /dev/loop3 /testdir/partfile;mount /dev/loop3 /mnt/partfile3

通過在/etc/fstab上設置,讓系統開機自檢掛載(永久生效自動掛載)

blob.png

二、swap交換分區:

1、swap交換分區是系統RAM的補充。

(如下圖,命令#free顯示的以k為單位;#free -m是以M為單位顯示;#free -g是以G為單位顯示)

blob.png

2、如何知道系統中的swap是由誰提供的?

命令#cat /proc/swaps

blob.png

3、由于分區的局限性(已經分好分區的swap是無法擴展的),因此如何進行swap的增加,如下圖:

blob.png

新分區做為swap,并修改分區編號保存后,如下圖:

blob.png

4、格式化swap

mkswap -L swap_sba6 /dev/sda6

blob.png

blob.png

5、修改/etc/fstab

blob.png

6、激活所有的swap

#swapon –a

(注:可以使用命令#swapon -s 查看激活的swap

blob.png

7、設置swap的優先級:

pri的設置為032767

#vim /etc/fstab

defaults的默認設置優先級是負數,所以需要手動去設置swap的優先級,如下圖:

blob.png

/etc/fstab設置完優先級后,要使用命令#swapoff /dev/sda6禁用;再用命令#swapon -a 激活

blob.png

8swap的優先級了解:

如果用戶沒有指定,那么核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有用戶指定優先級的swap,會給這個優先級減一。

先添加的swap的缺省優先級比較高,除非用戶自己指定一個優先級,而用戶指定的優先級(是正數)永遠高于核心缺省指定的優先級(是負數)。

優化性能:分布存放,高性能磁盤存放

9、使用文件來做swap

(當磁盤的分區把空間全部用完了,可以考慮使用文件來做swap分區)如下圖:

blob.png

blob.png

blob.png

生效:#swapon -a

blob.png

10、swap的刪除:

首先要禁用:#swapoff /dev/sda6  #swapoff /testdir/swapfile

blob.png

然后到配置文件/etc/fstab上刪除相應的添加記錄,刪除相應的分區和文件(rm -rf /testdir/swapfile)即可。

blob.png

三、移動介質掛載使用:(移動硬盤因為格式為ntfs使用不了)

#mount /dev/sd? /mnt/usb

拔除U盤前需要做的動作是命令#sync(最好執行三次,以免數據沒有寫入到U盤上)

#umount /mnt/usb 然后拔除U

四、光盤的使用

mount /dev/cdrom/mnt/

eject命令卸載或彈出光驅磁盤;eject -t 彈入光驅

創建ISO文件:

cp /dev/cdrom /root/centos7.iso

mkisofs -r -o /root/etc.iso  /etc (將目錄打包成ISO,作為備份)

刻錄光盤:wodim -v -eject centos.iso

五、常見工具:

  內存空間使用狀態:free

  -m: MB為單位

  -g: GB為單位

 blob.png

 文件系統空間占用等信息的查看工具:df

 -H 1000為單位

 blob.png

 -T 文件系統類型

 blob.png

 -h: human-readable

 blob.png

 -iinode sinstead of blocks

 -P: Posix兼容的格式輸出(較多用于設備名稱過長、顯示不整齊時)

 blob.png

 查看某目錄總體空間占用狀態:du

 -h: human-readable

 -s: summary

 blob.png

六、dd工具的使用:

   1、dd命令:convert and copy a file

   2、用法:

ddif=/PATH/FROM/SRC of=/PATH/TO/DEST

bs=#block size, 復制單元大小

count=#:復制多少個bs

of=file寫到所命名的文件而不是到標準輸出

if=file從所命名文件讀取而不是從標準輸入

bs=size指定塊大小(既是是ibs也是obs)

ibs=size一次讀sizebyte

obs=size 一次寫sizebyte

cbs=size 一次轉化sizebyte

skip=blocks從開頭忽略blocksibs大小的塊

seek=blocks從開頭忽略blocksobs大小的塊

count=n只拷貝n個記錄

cbs=size 一次轉換多少byte

   3、conv=conversion[,conversion…] 用指定的參數轉換文件。

     轉換參數:

     ascii 轉換EBCDIC ASCII

     ebcdic 轉換ASCII EBCDIC

     block 轉換為長度為cbs 的記錄,不足部分用空格填充。

     unblock 替代cbs長度的每一行尾的空格為新行

     lcase 把大寫字符轉換為小寫字符

     ucase 把小寫字符轉換為大寫字符

     nocreate不創建輸出文件

     noerror 出錯時不停止

     notrunc 不截短輸出文件。

     sync 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊

   4、磁盤拷貝:ddif=/dev/sdaof=/dev/sdb

     備份MBRddif=/dev/sdaof=/tmp/mbr.bakbs=512 count=1

     破壞MBR中的bootloaderddif=/dev/zero of=/dev/sdabs=64 count=1 seek=446

   5、備份:

將本地的/dev/sdx整盤備份到/dev/sdydd if=/dev/sdx of=/dev/sdy

/dev/sdx全盤數據備份到指定路徑的image文件:dd if=/dev/sdx of=/path/to/image

備份/dev/sdx全盤數據,并利用gzip工具進行壓縮,保存到指定路徑:dd if=/dev/sdx|gzip >/path/to/image.gz

  6、恢復:

將備份文件恢復到指定盤:dd if=/path/to/image of=/dev/sdx

將壓縮的備份文件恢復到指定盤:gzip -dc /path/to/image.gz | dd of=/dev/sdx

   7、拷貝內存資料到硬盤

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

從光盤拷貝iso鏡像:dd if=/dev/cdrom of=/root/cd.iso

   8、銷毀磁盤數據

dd if=/dev/urandom of=/dev/sda1

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

   9、得到最恰當的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大小

   10、測試硬盤讀寫速度

dd if=/root/1Gb.file bs=64k | dd of=/dev/null

dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

通過上兩個命令輸出的執行時間,可以計算出測試硬盤的讀/寫速度

   11、修復硬盤

dd if=/dev/sda of=/dev/sda

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

 

  

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

 blob.png

 blob.png

 blob.png

 blob.png

 blob.png

 blob.png

2、寫一個腳本,完成如下功能:

(1) 列出當前系統識別到的所有磁盤設備;

(2) 如磁盤數量為1,則顯示其空間使用信息;

否則,則顯示最后一個磁盤上的空間使用信息;

 

 腳本代碼:

 blob.png

 腳本執行效果:

 blob.png

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

(1)
Aaron_wangAaron_wang
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • N25第四周博客作業

    第四周博客作業 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。      3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的i…

    Linux干貨 2016-12-19
  • Linux的用戶,組及文件權限管理

    Linux用戶與組的創建,刪除,屬性修改,文件權限管理

    Linux干貨 2018-02-24
  • Linux磁盤管理

     I/O Ports:I/O設備地址   一切皆文件:             poen(),read(),write(),close()   設備類型:     &nb…

    Linux干貨 2016-08-29
  • shell腳本基礎練習2

    1.編寫一個腳本/root/bin/createuser.sh,腳本的執行語法必須是:createuser.sh -username -m password,選項與參數間可支持多空格,但不能順序顛倒。當未指定正確的選項或參數時,以錯誤輸出方式提示“createuser.sh -u username -m password ”后退出腳本。用…

    2017-08-12
  • N-22-南京-修 第三周博客作業

    #1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [xujie@localhost ~]$ who | cut -d " " -f1 | sort -u #2、取出最后登錄到當前系統的用戶的相關信息。 [root@localhost xujie]# last -x | head -1 #3、取出…

    Linux干貨 2016-09-15
  • 馬哥教育網絡22期+第四周作業博客

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。    [root@centos-rpi3 skel]# cp -r /etc/skel /home/tuser1 && chmod -R g-rwx,o-rwx /home/tuser1 …

    Linux干貨 2016-09-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-29 14:15

    文章結構層次清晰,內容完整,圖文并貌,同時通過自己的實際操作,鞏固了當天所學的知識。建議多加練習,熟練運用。

欧美性久久久久