處理交換文件和分區
交換分區是系統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 指定塊大?。仁鞘莍bs也是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?,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錯誤。當這種情況影響到硬盤的第一個扇區時 ,可能導致硬盤報廢。上邊的命令有可能使這些數據起死 回生。且這個過程是安全,高效的。
【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
原創文章,作者:a1215276209,如若轉載,請注明出處:http://www.www58058.com/42353