處理交換文件和分區

處理交換文件和分區


交換分區是系統RAM的補充  

基本設置包括: 

1 創建交換分區或者文件 

2 使用mkswap寫入特殊簽名 

3 在/etc/fstab文件中添加適當的條目 

4 使用swapon -a 激活交換空間


掛載交換分區

啓用:swapon swapon [OPTION]... [DEVICE] 

-a:激活所有的交換分區; 

-p PRIORITY:指定優先級 

   /etc/fstab:pri=value  

   禁用:swapoff [OPTION]... [DEVICE]


SWAP的優先級

 

1 用戶可以給某個swap指定一個0到32767的優先級  

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

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

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


移動介質


1 掛載意味着使外來的文件系統看起來如同是主目錄樹的一部分  

2 訪問前、介質必須被掛載  

3 摘除時,介質必須被卸載  

4 按照默認設置,非根用戶只能掛載某些設備(光盤、DVD、軟 盤、USB等等)  

5 掛載點通常在/media 或/mnt下


使用光盤


1 在圖形環境下自動啓動掛載/run/media/<user>/<label>  

2  否則就必須被手工掛載 

3 mount /dev/cdrom /mnt/

4 eject命令卸載或彈出磁盤  

5 創建ISO文件 

   cp /dev/cdrom /root/centos7.iso 

   mkisofs  -r  -o  /root/etc.iso /etc  

6 刻錄光盤 wodim –v –eject centos.iso



掛載USB介質  


1 被內核探測爲SCSI設備 

    /dev/sdaX、/dev/sdbX、或類似的設備文件  

2 在圖形環境中自動掛載 

  圖標在[計算機]窗口中創建 

  掛載在/run/media/<user>/<label> 

3 手動掛載 

  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


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

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

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

4 ibs=size 一次讀size個byte 

5 obs=size 一次寫size個byte 

6 cbs=size 一次轉化size個byte 

7 skip=blocks 從開頭忽略blocks個ibs大小的塊 

8 seek=blocks 從開頭忽略blocks個obs大小的塊 

9 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。現在想從第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/p_w_picpath 

 將/dev/sdx全盤數據備份到指定路徑的p_w_picpath文件 

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

 恢復: 

dd if=/path/to/p_w_picpath of=/dev/sdx 

 將備份文件恢復到指定盤 

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



【2】用戶配額 設置 raid卡 的 級別 以及raid卡的設置 raid 5


配置配額系統

綜述  在內核中執行  以文件系統爲單位啓用  對不同組或者用戶的策略不同 根據塊或者節點進行限制  執行軟限制(soft limit)  硬限制(hard limit) 初始化  分區掛載選項:usrquota、grpquota  初始化數據庫:quotacheck



爲用戶設定配額

  1 執行開啓或者取消配額:

    quotaon、quotaoff  

  2 直接編輯配額:

    edquota  username  

  3 在shell中直接編輯: 

    setquota  usename  4096  5120  40 50 /foo  

  4 定義原始標準用戶 

    edquota  -p  user1  user2



報告配額狀態

報告  


用戶調查:quota  

配額概述:repquota  

其它工具:warnquota


raid卡 簡介


RAID:Redundant Arrays of Inexpensive( Independent) Disks 1988年由加利福尼亞大學伯克利分校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive Disks”。 多個磁盤合成一個“陣列”來提供更好的性能、冗餘,或 者兩者都提供



raid卡的 優勢


 1 提高IO能力: 磁盤並行讀寫  

 2 提高耐用性; 磁盤冗餘來實現 級別:多塊磁盤組織在一起的工作方式有所不同 R

 AID實現的方式: 

     外接式磁盤陣列:通過擴展卡提供適配能力 

     內接式RAID:主板集成RAID控制器  

     安裝OS前在BIOS裏配置 Software RAID:


 RAID級別

 

 RAID-0:條帶卷,strip

 RAID-1: 鏡像卷,mirror

 RAID-2 ..

 RAID-5

 RAID-6

 RAID-10

 RAID-01


RAID-0: 讀、寫性能提升; 可用空間:N*min(S1,S2,...) 無容錯能力 最少磁盤數:2, 2

RAID-1: 讀性能提升、寫性能略有下降; 可用空間:1*min(S1,S2,...) 有冗餘能力 最少磁盤數:2, 2N

RAID-4: 多塊數據盤異或運算值,存於專用校驗盤

RAID-5: 讀、寫性能提升 可用空間:(N-1)*min(S1,S2,...) 有容錯能力:允許最多1塊磁盤損壞 最少磁盤數:3, 3+

RAID-6: 讀、寫性能提升 可用空間:(N-2)*min(S1,S2,...) 有容錯能力:允許最多2塊磁盤損壞 最少磁盤數:4, 4+


RAID混合類型級別

RAID-10: 讀、寫性能提升 可用空間:N*min(S1,S2,...)/2 有容錯能力:每組鏡像最多隻能壞一塊 最少磁盤數:4, 4+

RAID-01、

RAID-50

RAID7: 可以理解爲一個獨立存儲計算機,自身帶有操作系 統和管理工具,可以獨立運行,理論上性能最高的RAID模式 JBOD:Just a Bunch Of Disks 功能:將多塊磁盤的空間合併一個大的連續空間使用 可用空間:sum(S1,S2,...) 常用級別:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD


軟RAID

mdadm:爲軟RAID提供管理界面 爲空餘磁盤添加冗餘 結合內核中的md(multi devices)

RAID設備可命名爲/dev/md0、/dev/md1、/dev/md2、 /dev/md3等等



軟件RAID的實現

mdadm:模式化的工具  

命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices> 支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10  

模式: 

  創建:-C 

  裝配: -A 

  監控: -F 

  管理:-f, -r, -a

  <raiddevice>: /dev/md#

  <component-devices>: 任意塊設備


-C: 創建模式 

  -n #: 使用#個塊設備來創建此RAID; 

  -l #:指明要創建的RAID的級別; 

  -a {yes|no}:自動創建目標RAID設備的設備文件; 

  -c CHUNK_SIZE: 指明塊大小; 

  -x #: 指明空閒盤的個數;  


例如:創建一個10G可用空間的RAID5


-D:顯示raid的詳細信息; 

   mdadm -D /dev/md#  

   管理模式: 

     -f: 標記指定磁盤爲損壞 

     -a: 添加磁盤 

     -r: 移除磁盤  

     觀察md的狀態: cat /proc/mdstat  

     停止md設備: mdadm -S /dev/md#


 軟RAID配置實例  


 使用mdadm創建並定義RAID設備 

     #mdadm -C  /dev/md0 -a yes -l 5 -n 3 -x 1  /dev/sdb1  /dev/sdc1  /dev/sdd1 /dev/sde1  

 用文件系統對每個RAID設備進行格式化 

     #mke2fs -j  /dev/md0  

 測試RAID設備

 mdadm允許檢查RAID設備的狀況 

     #mdadm --detail|D  /dev/md0  

 增加新的成員 #mdadm –G /dev/md0 –n4  -a /dev/sdf1




軟RAID測試和修復

 

 模擬磁盤故障 

     #mdadm  /dev/md0  -f  /dev/sda1  

 移除磁盤 

     #mdadm   /dev/md0 –r /dev/sda1  

 從軟件RAID磁盤修復磁盤故障 

      替換出故障的磁盤然後開機 

      在備用驅動器上重建分區 

      #mdadm  /dev/md0  -a  /dev/sda1

  mdadm、/proc/mdstat及系統日誌信息



軟RAID管理  

    生成配置文件:mdadm –D –s  >> /etc/mdadm.conf  

    停服務:mdadm –S /dev/md0  

    激活:mdadm –A –s /dev/md0 激活  

    刪除raid信息:mdadm –zero-superblock /dev/sdb1



    








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章