掛載點和/etc/fstab
配置文件系統體系 被mount、fsck和其它程序使用 系統重啟時保留文件系統體系 可以在設備欄使用文件系統卷標 使用mount -a命令掛載 /etc/fstab 中的所有文件系統
文件掛載配置文件
/etc/fstab每行定義一個要掛載的文件系統; (1)要掛載的設備或偽文件系統(除根以外的文件系統) (2)掛載點 (3)文件系統類型 (4)掛載選項 (5)轉儲頻率 (6)自檢次序 要掛載的設備或偽文件系統: 設備文件、LABEL(LABEL="") UUID(UUID="")、偽文件系統名稱(proc,sysfs) 掛載選項: defaults 轉儲頻率: 0 :不做備份 1 :每天轉儲 2 :每隔一天轉儲 自檢次序: 0 :不自檢 1:首先自檢;一般只有rootfs才用1 非0自檢
LABEL="SDB1" /mnt/sdb1 ext4 defaults 0 3/testdir/centos7.iso /mnt/iso iso9660 loop 0 0/boot /mnt/boot none blind 0 010.1.1.1:/share /mnt/nfs nfs defaults 0 0
故障排除,/etc/fstab 設備名出錯 自檢非0
開機自檢--》輸入管理員密碼--》進行修復mount -o remount,rw /
處理交換文件和分區
交換分區是系統RAM的補充 基本設置包括: ? 創建交換分區或者文件 mkswap device -L LABEL:指明卷標 -f :強制
掛載交換分區
啟用:swapon swapon [OPTION]... [DEVICE] -a:激活所有的交換分區; -s:查看swap分區的信息 -p PRIORITY :指定優先級 /etc/fstab: pri=value 禁用:swapoff [OPTION]... [DEVICE]
/etc/fstab /testdir/swapfile swap swap default,pri=100 0 0
SWAP的優先級
用戶可以給某個swap 指定一個0 到32767的優先級,系統默認為-1
default,pri=# 設定優先級
優化性能:分布存放,高性能磁盤存放
移動介質
掛載意味著使外來的文件系統看起來如同是主目錄樹的一部分 按照默認設置,非根用戶只能掛載某些設備(光盤、DVD 、軟盤、USB 等等) 掛載點通常在/media或/mnt下
使用光盤
在圖形環境下自動啟動掛載/run/media/<user>/<label> 否則就必須被手工掛載 mount /dev/cdrom /mnt/ /dev/dvd 符號鏈接文件: /dev/cdrom /dev/cdrw /dev/dvd /dev/dvdrw eject 命令卸載或彈出磁盤 創建ISO文件 cp /dev/cdrom /root/centos7.iso mkisofs -r -o /root/etc.iso /etc mount -o loop /tmp/CentOS-7.0-1406-x86_64-DVD.iso /data/centos_dvd 刻錄光盤 wodim –v –eject centos.iso
掛載文件
dd if=/dev/zero of=/mnt/lopp1 bs=100M count=5
losteup /dev/loop10 /mnt/loop1 losetup -d /dev/loop# 取消loop設備的關聯
mkfs.xfs /dev/loop10 mkdir /media/loop10 mount /dev/loop10 /media/loop10
掛載USB介質
被內核探測為SCSI 設備 ? /dev/sdaX 、/dev/sdbX 、或類似的設備文件 ? 手動掛載 ? mount /dev/sdb1 /mnt #sync 同步
常見工具
內存空間使用狀態:
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 總體顯示
[root@6 testdir]# du -h 32K ./yum.repos.d 32K ./repo/repodata 76K ./repo 8.0K ./a 604K . [root@6 testdir]# du -s 604 .
工具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 為 ASCIIebcdic 轉換 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/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/nulldd if=/dev/zero of=/root/1Gb.file bs=1024count=1000000通過上兩個命令輸出的執行時間,可以計算出測試硬盤的讀/寫速度
修復硬盤
dd if=/dev/sda of=/dev/sda當硬盤較長時間(比如1 ,2 年)放置不使用后,磁盤上會產生消磁點。當磁頭讀到這些區域時會遇到困難,并可能導致I/O錯誤。當這種情況影響到硬盤的第一個扇區時,可能導致硬盤報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。
配置配額系統
綜述
? 在內核中執行 ? 以文件系統為單位啟用 ? 對不同組或者用戶的策略不同 根據塊或者節點進行限制 ? 執行軟限制(soft limit) ? 硬限制(hard limit)
初始化
? 分區掛載選項:usrquota 、grpquota
/dev/sda6 /home ext4 usrquota,grpquota 0 0
? 初始化數據庫:quotacheck -u, --user -g, --group -c, --create-files
quotacheck -cug /home setenforce 0 centos6 停用防火墻
為用戶設定配額
執行
? 開啟或者取消配額:quotaon 、quotaoff -p, --print-state
quotaon -p /home quotaon /home
? 直接編輯配額:edquota username ? 在shell 中直接編輯: setquota usename 4096 5120 40 50 /foo ? 定義原始標準用戶 edquota -p user1 user2
報告配額狀態
報告
? 用戶調查:quota ? 配額概述:repquota ? 其它工具:warnquota
what is RAID
RAID:Redundant Arrays of Inexpensive( Independent) Disks 1988 年由加利福尼亞大學伯克利分校 多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供
RAID
提高IO 能力: 磁盤并行讀寫 提高耐用性; 磁盤冗余來實現 級別:多塊磁盤組織在一起的工作方式有所不同RAID 實現的方式:外接式磁盤陣列:通過擴展卡提供適配能力 內接式RAID :主板集成RAID 控制器 安裝OS 前在BIOS 里配置Software RAID:
RAID 級別
RAID-0 :條帶卷,strip RAID-1: 鏡像卷,mirror RAID-2 .. RAID-5RAID-6RAID-10RAID-01
RAID 普通型級別
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 watch命令: -n #:刷新間隔,單位為秒;
停止md設備:
mdadm -S /dev/md#
軟RAID 配置實例
使用mdadm 創建并定義RAID 設備 # mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{1,2,3,4} # 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 及系統日志信息
#watch -n1 'cat /proc/mdstat'每1秒查看mdstat文件一次
軟RAID 管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf 停服務:mdadm –S /dev/md0 激活:mdadm –A –s /dev/md0 激活 刪除raid 信息:mdadm –zero-superblock /dev/sdb1
邏輯卷管理器(LVM)
允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小 允許在多個物理設備間重新組織文件系統 ? 將設備指定為物理卷 ? 用一個或者多個物理卷來創建一個卷組 ? 物理卷是用固定大小的物理區域(Physical Extent, PE )來定義的 ? 在物理卷上創建的邏輯卷 是由物理區域(PE )組成 ? 可以在邏輯卷上創建文件系統
LVM 介紹
LVM: Logical Volume Manager, Version: 2dm: device mapper: 將一個或多個底層塊設備組織成一個邏輯設備的模塊 設備名:/dev/dm-# 軟鏈接: /dev/mapper/VG_NAME-LV_NAME /dev/mapper/vol0-root /dev/VG_NAME/LV_NAME /dev/vol0/root
LVM 更改文件系統的容量
LVM 可以彈性的更改LVM的容量通過 交換PE來進行資料的轉換,將原來LV 內的PE轉轉移到其他的設備中以降低LV的容量,或將其他設備中的PE 加到LV 中以加大容量
pv 管理工具
顯示pv 信息
pvs :簡要pv 信息顯示 pvdisplay
創建pv
pvcreate /dev/DEVICE
刪除
pvremove /dev/DEVICE
vg 管理工具
顯示卷組
vgsvgdisplay
創建卷組
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgcreate -s 4G myvg /dev/sdd1
管理卷組
vgextend VolumeGroupName PhysicalDevicePath[PhysicalDevicePath...]
#vgextend myvg /dev/sdd5
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
#vgreduece myvg /dev/sdd5
刪除卷組
vgremove先做pvmove ,再做vgremove
lv 管理工具
顯示邏輯卷
lvs Lvdisplay
創建邏輯卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
刪除邏輯卷
lvremove /dev/VG_NAME/LV_NAME
重設文件系統大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size] xfs_growfs /mnt/mylv lvextend -r -l +100%FREE /dev/vg0/mylv 剩余全部擴充
擴展和縮減邏輯卷
擴展邏輯卷:
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME
縮減邏輯卷:
# umount /dev/VG_NAME/LV_NAME# e2fsck -f /dev/VG_NAME/LV_NAME# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]# lvreduce -L [-]#[mMgGtT]/dev/VG_NAME/LV_NAME# mount
創建邏輯卷實例
創建物理卷
pvcreate /dev/sda3
為卷組分配物理卷
vgcreate vg0 /dev/sda3
從卷組創建邏輯卷
lvcreate -L 256M -n data vg0mke2fs -j /dev/vg0/datamount /dev/vg0/data /mnt/data
積累應用
1:創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄
[root@6 ~]# gdisk /dev/sdd
[root@6 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/sdd{1,2,3}
[root@6 ~]# mkfs.ext4 /dev/md0
[root@6 ~]# vim /etc/fstab
UUID="5dd32775-a40a-4bf0-94f9-da7907be55f1" /backup ext4 defaults 0 0
[root@6 ~]# mount -a
2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄
[root@lvasu bin2]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -c 256 /dev/sdd{1,2,3}
[root@lvasu bin2]# mkfs.ext4 /dev/md0
vim /etc/fstab
munt -a
3、創建和擴展邏輯卷
[root@lvasu bin2]# pvcreate /dev/sdd{1,2,3} Physical volume "/dev/sdd1" successfully created Physical volume "/dev/sdd2" successfully created Physical volume "/dev/sdd3" successfully created [root@lvasu bin2]# vgcreate vg0 /dev/sdd{1,2,3} Volume group "vg0" successfully created [root@lvasu bin2]# vgs VG #PV #LV #SN Attr VSize VFree vg0 3 0 0 wz--n- 2.99g 2.99g [root@lvasu bin2]# lvcreate -L 1G -n lv0 /dev/vg0 Logical volume "lv0" created. [root@lvasu bin2]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- 1.00g [root@lvasu bin2]# lvextend -L 2G /dev/vg0/lv0 Size of logical volume vg0/lv0 changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume lv0 successfully resized. [root@lvasu bin2]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- 2.00g
原創文章,作者:lvasu,如若轉載,請注明出處:http://www.www58058.com/43130