class15磁盤管理(二) 高級磁盤管理(一)

掛載點和/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

class15磁盤管理(二) 高級磁盤管理(一)2016-9-2 05.JPG

[root@6 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/sdd{1,2,3}

class15磁盤管理(二) 高級磁盤管理(一)2016-9-2 01.JPG

[root@6 ~]# mkfs.ext4 /dev/md0

class15磁盤管理(二) 高級磁盤管理(一)2016-9-2 02.JPG

[root@6 ~]# vim /etc/fstab

UUID="5dd32775-a40a-4bf0-94f9-da7907be55f1" /backup   ext4  defaults 0 0

class15磁盤管理(二) 高級磁盤管理(一)2016-9-2 03.JPG

[root@6 ~]# mount -a

class15磁盤管理(二) 高級磁盤管理(一)2016-9-2 04.JPG

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}

class15磁盤管理(二) 高級磁盤管理(一)2016-9-3 -1.JPG

[root@lvasu bin2]# mkfs.ext4 /dev/md0

class15磁盤管理(二) 高級磁盤管理(一)2016-9-3 -2.JPG

vim /etc/fstab

class15磁盤管理(二) 高級磁盤管理(一)2016-9-3 -3.JPG

munt -a

class15磁盤管理(二) 高級磁盤管理(一)2016-9-3 -4.JPG

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

(0)
lvasulvasu
上一篇 2016-09-05
下一篇 2016-09-05

相關推薦

  • 命令read

    read命令是一個bash命令,它用于從鍵盤或標準輸入中讀取文本.我們可以使用read以交互的形式讀取來自用戶的輸入.并且read還提供一種不需要按回車就能夠輸入參數的方法. read可以從標準輸入中讀取單獨的一行,或者使用-u選項,從文件描述符FD中讀取.并且這單獨的行被分隔成多個域,第一個詞被賦值給第一個變量,第一個賦值給第二個變量,以此類推,直到剩下的…

    Linux干貨 2016-08-12
  • 腳本函數與程序包管理

    一、函數調用 1.while循環的特殊用法(遍歷文件的每一行): while read line; do    循環體done < /PATH/FROM/SOMEFILE 依次讀取/PATH/FROM/SOMEFILE文件中的每一行,且將行賦值給變量line示例:掃描/etc/passwd文件每一行,如發現GECOS字段為…

    Linux干貨 2016-08-21
  • rmp 程 序 包 管 理 介 紹-20160819

    rmp 程 序 包 管 理 介 紹 §·學習大綱 ※包管理器 ※rmp常用命令介紹 *安裝 *升級: *卸載: *查詢: *校驗: *數據庫: ※rmp使用實例介紹 ※包管理器 ◎二進制應用程序的組成部分: 二進制文件、庫文件、配置文件、幫助文件 ◎程序包管理器: debian:deb文件, dpkg包管理器 redhat: rpm文件, rpm包管理器 r…

    Linux干貨 2016-08-21
  • ansible學習筆記之2 ad-hoc篇

    ansible學習筆記之2 ad-hoc篇 ansible學習筆記之2 ad-hoc篇 ansible 學習筆記 ad-hoc ansible學習筆記之2 ad-hoc篇 使用ansible ad-hoc搭建lnmp/lamp 編輯host文件,通過秘鑰認證ssh連接主機 前期環境準備 在lnmp上安裝lnmp 其中 ad-hoc搭建mysql主從 配置文件…

    2016-11-21
  • Linux常用基礎命令

    pwd顯示工作目錄 [root@localhost ~]# pwd/root cd 切換回家目錄,注意:bash中,~表示家目錄: [root@localhost ~]# cd[root@localhost ~]# cd ~USERNAME:切換至指定用戶的家目錄;cd ~切換回自己的家目錄; cd -:在上一次所在目錄與當前目錄之間來回切換; […

    Linux干貨 2017-06-26
  • 第十周

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 1.開啟電源后,POST自檢:檢查硬件設備,通過后交給BIOS 2.BIOS加載可選擇的啟動設備,尋找可引導的啟動設備的記錄:MBR 3.MBR:硬盤的主引導記錄,存在于0磁道0扇區,共512字節.其中Bootloader占用446字節,分區表占用64字節,magic nu…

    Linux干貨 2016-10-17
欧美性久久久久