接上一篇文章http://www.www58058.com/40874
移動介質
掛載意味著 使外來的文件系統看起來如同是主目錄樹 的 一部分
訪問前、介質必須被掛載
摘除時,介質必須被卸載
按照默認設置,非根用戶只能掛載某些設備(光盤、DVD、軟盤、USB等)
掛載點通常在/media或/mnt下
使用光盤
在圖形環境下自動啟動掛載/run/media/<user>/<label>
否則就必須被手工掛載
mount /dev/cdrom /mnt/
eject命令卸載或彈出磁盤 eject -t命令安裝或彈入光盤
在圖形界面下,設置CD/DVD選項,鏈接使用物理驅動器,然后執行eject命令,光驅會彈出
創建ISO 文件
cp /dev/cdrom /root/centos7.iso 生成的ISO文件,掛載之后可以正常使用
[root@localhost ~]# cp /dev/sr0 /testdir/centos7.iso [root@localhost ~]# file /testdir/centos7.iso /testdir/centos7.iso: # ISO 9660 CD-ROM filesystem data 'CentOS 7 x86_64' (bootable) [root@localhost ~]# mkdir /mnt/iso [root@localhost ~]# mount /testdir/centos7.iso /mnt/iso/ mount: /dev/loop1 is write-protected, mounting read-only
mkisofs -r -o /root/etc.iso /etc 把etc目錄打包成ISO文件 掛載之后就可以使用了 跟上面的步驟一致
刻錄光盤
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 指定塊大?。仁鞘莍bs 也是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 。現在想從第64個字節位置開始讀取,需要讀取的大小是128Byts 。又有fileB,想把上面讀取到的128Bytes寫到第32 個字節開始的位置,替換128Bytes ,請問如何實現?
#dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31conv=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 錯誤。當這種情況影響到硬盤的第一個扇區時,可能導致硬盤報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。
高級文件系統管理
配置配額系統
綜述
? 在內核中執行
? 以文件系統為單位啟用
? 對不同組或者用戶的策略不同
根據塊或者節點進行限制
? 執行軟限制(soft limit)
? 硬限制(hard limit)
初始化
? 分區掛載選項:usrquota 、grpquota
? 初始化數據庫:quotacheck
為用戶設定配額
執行
? 開啟或者取消配額:quotaon 、quotaoff
? 直接編輯配額:edquota username
? 在shell 中直接編輯:
setquota usename 4096 5120 40 50 /foo
? 定義原始標準用戶
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
提高IO 能力:
磁盤并行讀寫
提高耐用性;
磁盤冗余來實現
級別:多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式:
外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID :主板集成RAID控制器
安裝OS 前在BIOS里配置
軟件RAID:通過OS實現
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 #: 指明空閑盤 的個數
-D :顯示raid 的詳細信息;
mdadm -D /dev/md#
管理模式:
-f: 標記指定磁盤為損壞
-a: 添加磁盤
-r: 移除磁盤
觀察md 的狀態:
cat /proc/mdstat
軟RAI配置示例
使用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 激活
強制啟動:mdadm –R /dev/md0
刪除raid 信息:mdadm –zero-superblock /dev/sdb1
小練習:創建一個可用空間為1G 的RAID1 設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup
先創建三個分區大小都為10G的分區,然后把硬盤類型改為raid mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 -c 128K /dev/sdc{1,2} /dev/sdb2 #創建raid1 一個備用盤,塊大小128k mdadm -D /dev/md0 #顯示raid的詳細信息 cat /proc/mdstat #查看raid組創建的信息 mkfs.ext4 /dev/md0 #格式化raid組md0磁盤 mkdir /backup #創建一個文件夾 vim /etc/fstab #將掛載的信息寫到配置文件中 UUID=bd0df058-4d13-40cf-b635-cb7390e7ba25 /backup ext4 defaults 0 0 mount -a #重新讀取配置文件,是配置生效 mdadm -Ds /dev/md0 > /etc/mdadm.conf #保存配置文件
一些相關命令的總結:
raid5實現
1、fdisk /dev/sdb
/dev/sdb1
dd if=/dev/sdb of=/dev/sdd bs=1 count=512
2、mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1 創建raid
3、mkfs.ext4 /dev/md0
4、vim /etc/fstab
/dev/md0 /mnt/raid ext4 defaults 00
5、mount -a
6、mdadm -D /dev/md0 查看狀態
cat /proc/mdstat
7、mdadm /dev/md0 -f /dev/sdb1 模擬失敗
8、mdadm /dev/md0 -r /dev/sdb1 刪除成員
9、mdadm /dev/md0 -a /dev/sdb1 添加成員
10、mdadm -Ds /dev/md0 > /etc/mdadm.conf
11、umount /dev/md0;mdadm -S /dev/md0
清除raid
1、umount /dev/md0;mdadm -S /dev/md0
2、mdadm –zero-superblock /dev/sdx 清除成員raid信息
3、fdisk /dev/sdx 刪除成員分區
4、vim /etc/fstab
5、rm /etc/mdadm.conf
原創文章,作者:舊城以西,如若轉載,請注明出處:http://www.www58058.com/42885