天天看點

Linux運維 第二階段 (七)進階檔案系統管理

一、相關概念:

1、32bit作業系統(/lib);64bit作業系統(lib64)向後相容32bit

2、controller控制器(內建的);adapter擴充卡(獨立的)

3、協定:雙方都遵循的傳輸信号的法則

4、MB(Mbyte)與Mb(Mbit):Mb/8=MB(1byte=8bit)

5、IDE(integrated driveelectronic)并行,互相幹擾133MB/s

SATA(serial advanced technology attachment)串行,300MB/s,600MB/s,6GB/s

USB3.0(universal serial bus)串行,480MB/s

SCSI(small computer system interface)并行,320MB/s,640MB/s

RAID(redundant arrays ofinexpensive(independent) disks)獨立備援磁盤陣列:university of california berkely

LVM(logical volume management)邏輯卷管理:動态擴充磁盤邊界,支援鏡像功能,建議LVM建立在RAID10基礎上

6、RAID level:磁盤的組織方式不同,沒有上下之分

7、RAID0條帶化:至少2塊,讀寫性能提升,無備援能力,空間使用率100%;

RAID1鏡像:至少2塊,讀性能提升,寫性能下降,有備援能力,空間使用率50%;

RAID2、RAID3、RAID4:很少用,功能類似,例如RAID4,至少4塊盤,僅一塊盤有校驗資料,有備援能力,空間使用率3/4,不允許同時壞2塊盤;

RAID5:至少3塊,每塊盤循環着都有校驗資料,讀寫性能提升,有備援能力,空間使用率(n-1)/n;

RAID01、RAID10:至少4塊,兩組中相同編号的兩塊盤不能同時挂掉,浪費空間1/2,有備援能力;

RAID50:至少6塊盤,讀寫性能提升,有備援能力,空間使用率(n-2)/n;

<a href="http://s3.51cto.com/wyfs02/M02/73/7E/wKiom1X_kO-wzaFCAAEovV9nHZ4774.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/73/7C/wKioL1X_ky3BgOI4AAEuNPfoDYw564.jpg" target="_blank"></a>

8、硬體RAID(生産環境下使用),軟體RAID(實驗用,模拟、邏輯RAID,/dev/md[0-9],隻标示RAID裝置不表示RAID級别,multidevice)

9、MD(multi device)meta device,通常用于RAID

10、DM(devicemapper)能提供多個實體裝置映射為邏輯裝置,比MD強大,能用于RAID、LVM2,但通常用于LVM

11、RAID10和RAID5等磁盤備援陣列,是解決硬體故障時的資料恢複,但不能阻止人為操作,如#rm  -rf   /*

12、LVM組成部分及相關指令:

pv(physical volume):pvcreate,pvscan,pvdisplay(pvs),pvremove

vg(volume group):vgcreate,vgdiskplay(vgs),vgscan,vgextend,vgreduce,vgremove

lv(logcial volume):lvcreate,lvdisplay(lvs),lvextend,lvreduce,lvremove

pe(physical extents實體範圍)

le(logical extents邏輯範圍)

<a href="http://s3.51cto.com/wyfs02/M00/73/7E/wKiom1X_kQ-z2VAVAADlcyIi0h4611.jpg" target="_blank"></a>

二、RAID操作:

#fdisk /dev/sdb(建立四個1G分區,注意分區格式為fd(linux raid auto))

#partx /dev/sdb

#cat /proc/partitions

#mdadm  [mode]  &lt;raiddevice&gt;  [options]  &lt;component-devices&gt;(模式化的指令,使用者空間管理工具,真正工作的是核心子產品,有建立模式、管理模式、監控模式、增長模式、裝配模式)

#mdadm -C  /dev/md1  -l 5  -n  3 -x  1  /dev/sdb{1,2,3,4}

-C(--create)

-l  #(--level=#,Set  RAID level)

-n  #(--raid-devices=#,Specify  the number  of  active devices in the array,指定可用的或活動的磁盤數量)

-x  #(--spare-devices=#,Specifythe number of spare (eXtra) devices in the initial array,指定空閑盤的個數)

#cat /proc/mdstat

#mdadm -D  /dev/md1(--detail)

#mke2fs  -t ext4  -E  stride=16 -b  4096  /dev/md1(-E,extend-options;-b,blocksize,條帶大小stride=chunk_size/block_size=64/4,chunk對RAID0,RAID5有一定作用,最好指定,此句可優化軟RAID性能)

#mount /dev/md1  /mnt

#ls /mnt(檢視是否有檔案lost+found)

#mdadm /dev/md1  -f  /dev/sdb3(--fail模拟損壞)

#cat /proc/mdstat(檢視空閑盤是否會替換壞的磁盤,會有如下提示)

[=====&gt;...............]  recovery = 27.0% (286780/1058816)finish=3.2min speed=3941K/sec

#mdadm /dev/md1  -r  /dev/sdb3(--remove将壞的盤移除)

#mdadm /dev/md1  -a  /dev/sdc1(--add增添新的空閑盤,做備用)

#mdadm -D  /dev/md1(如下顯示)

   Number   Major   Minor  RaidDevice State

      0       8       17       0      active sync   /dev/sdb1

      1       8       18       1      active sync   /dev/sdb2

      3       8       20       2      active sync   /dev/sdb4

      4       8       33       -      spare   /dev/sdc1

#mdadm -D  --scan  &gt; /etc/mdadm.conf(将目前RAID資訊儲存至配置檔案,友善以後裝配)

#umount /dev/md1

#mdadm -S  /dev/md1(--stop)

#mdadm -A  /dev/md1(--assemble,Assemble a pre-existing array裝配已存在的或定義了的陣列)

#mdstat -D  /dev/md1

#watch [-n  #]  ‘COMMAND’(-n後跟秒數,不指預設每2秒執行一次,全屏周期性的執行指令)

#watch -n  5  ‘cat /proc/mdstat’(監控此檔案是否有變化)

二、LVM操作:

#fdisk /dev/sdb(建立三個1G分區,注意分區格式為8e(linux lvm))

#pvcreate DEVICE|PARTITION(initialize a disk or partition for use by LVM)

#pvcreate /dev/sdb{1,2,3}

#pvs [DEVICE|PARTITION](report information about physical volumes)

#pvdisplay [DEVICE|PARTITION](display attributes of a physical volume,掃描主機上可識别的PV)

#vgcreate  -s PE_SIZE  VG_NAME  DEVICE(create a volumegroup,可用-s指定PE_SIZE,預設4M)

#vgcreate myvg  /dev/sdb{1,2,3}

#vgs

#vgs [VG_NAME]

#vgdisplay

#vgdisplay [VG_NAME]

#lvcreate -L  LV_SIZE  -n LV_NAME  VG_NAME(create alogical volume in an existing volume group,-L,指定LV大小(也可用-l指定PE或LE數量);-n,指定LV名字)

#lvcreate -L  2.5G  -n mylv  myvg

#lvs

#lvdisplay /dev/myvg/mylv1

#mke2fs -t  ext4  /dev/myvg/mylv

#mkdir /mylv

#mount /dev/myvg/mylv  /mylv

#df -hP(/dev/myvg/mylv和/dev/mapper/myvg-mylv均連結到指定的塊裝置檔案)

#touch /mylv/test.txt

擴充邏輯卷:

#lvextend -L  [+]LV_SIZE  /PATH/TO/LV(extend the size of alogical volume)

#lvextend -L  +512M  /dev/myvg/mylv

#lvdisplay /dev/myvg/mylv

#resize2fs -p  /dev/myvg/mylv(修複邏輯邊界)

縮減邏輯卷:

不能線上縮減,得先解除安裝;

確定縮減後的空間大小仍能存儲原有的資料;

在縮減之前應先強制檢查檔案系統,以確定檔案系統處于一緻性狀态

#df -hP

#umount /dev/myvg/mylv

#e2fsck -f  /dev/myvg/mylv

#resize2fs /dev/myvg/mylv  2G

#lvreduce -L  2G  /dev/myvg/mylv(#lvreduce  -L -1G  /dev/myvg/mylv)

縮減VG移除PV:

#pvmove /dev/sdb3(将此PV上的資料挪至其它PV)

#vgreduce myvg  /dev/sdb3

#pvs

#pvremove /dev/sdb3

#pvcreate /dev/sdb3

#vgextend myvg  /dev/sdb3(PE大小在建立時已指定,預設4M)

快照卷:

生命周期為整個資料時長,在這段時長内,資料的增長量不能超出快照卷大小;

快照卷應設為隻讀;

跟原卷在同一卷組内

#lvcreate -L  SNAPSHOT_SIZE  -s -p  r  -n SNAPSHOTLV_NAME  /PATH/TO/LV(-s,--snapshot;-p,--permission  {r|rw};-n,--name  NAME)

#lvcreate -L  100M  -s  -p  r -n  mylv_snapshot  /dev/myvg/mylv(僅完全備份,此資料不能還原到資料出錯那刻的狀态)

#mkdir /mylv_snapshot

#mount /dev/myvg/mylv_snapshot /mylv_snapshot

#rm -rf  /mylv/test.txt

#tar jcf  /tmp/incremental.tar.bz2  /mylv/*(類似增量備份,每隔幾天備份一次,便于出錯還原)

#ls /mylv_snapshot/

#cp /mylv_snapshot/test.txt  /mylv/

#umount /mylv_snapshot

#lvremove /dev/myvg/mylv_snapshot

以上是學習《馬哥網絡視訊》做的筆記。

一、磁盤配額:

     多使用者共同使用一個硬碟,管理者應适當限制硬碟的空間,以妥善配置設定系統資源。

     #grepCONFIG_QUOTA /boot/config-2.6.32-279.el6.i686

     #rpm–qa | grep quota

     使用者配額群組配額;磁盤容量限制和檔案個數限制;軟限制和硬限制;寬限時間。

     注:如果使用者的空間處于軟限制和硬限制之間,系統會在使用者登入時警告将滿,寬限時間預設7天,如果達到了寬限時間未調整,軟限制就會更新為硬限制。

         #mount  -o remount,usrquota,grpquota  /disk1      (臨時生效

         #vi  /etc/fstab                  (寫入配置檔案,永久生效

   /dev/sdb1         /disk1       ext4          defaults,usrquota,grpquota    1  2

1、#quotacheck  [-a|-v|-u|-g|-c|-m|-f]  分區名   (建立磁盤配額的配置檔案

         -a      掃描/etc/mtab檔案中所有啟用該功能的分區,有此項則不加分區名

         -v      顯示掃描過程

         -u      建立使用者配額的配置檔案aquota.user

         -g      建立組配額的配置檔案aquoa.grp

         -c      不管原有的配置檔案,重建新的配置檔案

         -m    強制以讀寫的方式掃描檔案系統,一般掃描根分區使用

         -f       強制掃描檔案系統,并寫入新的配置檔案,一般掃描新添加的硬碟使用

         例:#quotacheck–avug           (掃描建立前先關閉SELINUX)

                   #ll  /disk1

2、#quotaon  -avug             (開啟磁盤配額

         #quotaoff  -avug      (關閉磁盤配額

3、#edquota  -u|-g|-t|-p 使用者名/組名      (設定使用者群組的磁盤配額

         -t      (設定寬限時間

         -p      (複制配額,例:#edquota  -p  源使用者  -u  目标使用者

         例:#edquota  -u lamp1

                   #edquota  -g brother

                   #edquota  -p lamp1  -u  lamp2

                   #edquota  -t

4、#quota  -u|-g|-v|-s 使用者名/組名         (查詢使用者群組的磁盤配額

         -s  以習慣機關顯示

         例:#quota  -uvs lamp1

         #repquota  -a|-u|-g|-v|-s  分區名 (查詢檔案系統配額

         例:#repquota  -avugs

5、#setquota  -u  使用者名 容量軟限制 容量硬限制 個數軟限制 個數硬限制 分區名

         例:#setquota  -u lamp3 10000 20000  5 8  /disk

二、LVM(logical volume manager)

1、PV(physical volume):真正的實體硬碟或分區;

         VG(volumegroup):多個實體卷合起來組成了卷組,組成同一個卷組的實體卷可以是同一個硬碟的不同分區,也可以是不同硬碟上的不同分區,可想象為一個邏輯硬碟;

         LV(logicalvolume):是VG分區之後才能使用的,LV可格式化,可想象為分區;

         PE(physicalextend):儲存資料的最小單元,預設4M,可自定義配置,可想象為硬碟的block。

2、建立LVM步驟:實體硬碟分區,改系統ID号為8e;分區建立PV;PV組合成VG;VG劃分為LV。

3、PV管理:

         #fdisk  /dev/sdb            (改分區ID為8e

         #pvcreate  裝置檔案名       (可#pvcreate /dev/sdb整塊硬碟或#pvcreate/dev/sdb5一個分區

         #pvscan                 (檢視實體卷

         #pvdisplay                  (檢視更詳細的實體卷狀态

         #pvremove  /dev/sdb2        (删除實體卷

4、VG管理:

         #vgcreate  -s PE大小 卷組名 實體卷名

         例:#vgcreate  -s 8M vg  /dev/sdb5  /dev/sdb6

         #vgscan

         #vgdisplay

         #vgextend  卷組名 分區号   (例:#vgexten  vg /dev/sdb7

         #vgreduce  卷組名 分區号   (例:#vgreduce vg  /dev/sdb7

         #vgremove  卷組名

5、LV管理:

         #lvcreate  -L 容量|-l PE個數| -n 邏輯卷名 卷組名

                   -L 容量          (指定邏輯卷大小,機關MGT

                   -l  PE個數       (用PE個數指定LV大小

                   -n邏輯卷名     (指定LV名

         例:#lvcreate  -L 1.5G -n  lv  vg

         #lvscan

         #lvdisplay

         #lvresize  -L 容量|-l PE個數 lv的裝置檔案名

                   -L容量             (指定LV大小,可用+-調節,機關MGT

         例:#lvresize  -L 2.5G  /dev/vg/lv

         #resize2fs  -f  裝置檔案名 調整的大小  (調整大小lvresize後一定要用此指令

                  -f                (force

                   調整的大小       (指定分區調整到多大,無此項會使用整個分區

         例:#resize2fs  /dev/vg/lv

         #lvremove  邏輯卷的裝置檔案名    (先解除安裝後移除

#mkfs -t  ext4  /dev/vg/lv

#mount /dev/vg/lv  /mnt/lv

三、RAID磁盤陣列

1、RAID0等量磁碟區(資料平均寫入到每塊硬碟中);

         RAID1鏡像卷(備份,由兩塊硬碟組成);

         RAID10(先用兩塊硬碟組成RAID1,再兩塊硬碟也組成RAID1,這兩組組合為RAID0);

         RAID01(先兩塊硬碟組成RAID0,再用兩塊硬碟也組成RAID0,這兩組共同組合為RAID1);

         RAID5(至少三塊硬碟,大小一樣)。

2、指令模式設定為RAID5

         #mdadm  模式  RAID裝置檔案名  選項

         模式:    Assemble         加入一個已經存在的陣列

                   Build             建立一個沒有超級塊的陣列

                   Create            建立一個陣列每個裝置具有超級塊

                   Manage            管理陣列,如添加删除裝置

                   Misc              允許單獨對陣列中的裝置操作,如停止陣列

                   Followor Monitor      監控RAID狀态

                   Grow                改變RAID的容量或陣列中的數目

         選項:   --scan,-s            掃描配置檔案或/proc/mdstat,發現丢失的資訊

                  --detail,-D         檢視RAID詳細資訊

                  --create,-c         建立新的磁盤陣列,調用create模式

                 --auto=yes,-a      用标準格式建立RAID

                  --raid-devices=num,-n      使用幾個硬碟或分區組成RAId

                  --level=級别,-l建立RAID級别可以是0,1,5

                  --spare-devices=num,-x   備份裝置

                  --add,-a          已存在的RAID中加入裝置

                  --remove,-r         已存在的RAID中移除裝置

                 --fail,-f           已存在的裝置設為fault

                  --stop,-S         停止RAID裝置

                  --assemble,-A       按照配置檔案加載RAID

例:#mdadm  --create  --auto=yes /dev/md0  --level=5  --raid-devices=3  --spare-devices=1 \ &gt;/dev/sdb5 /dev/sdb6  /dev/sdb7  /dev/sdb8

         #mdadm  --detail /dev/md0

         #cat  /rpoc/mdstat

         #mkfs  -t ext4  /dev/md0

         #mount  /dev/md0 /raid/

         #echo  Device /dev/sdb[5-8]  &gt;&gt;/etc/mdadm.conf

         #mdadm  -Ds &gt;&gt; /etc/mdadm.conf

         #vi  /etc/fstab        (設定開機自動挂載

/dev/md0 /raid  ext4  defaults 1  2

         #mdadm  --stop /dev/md0

         #mdadm  -As /dev/md0          (啟動并挂載

         #mdadm  /dev/md0 --fail  /dev/sdb7

         #mdadm  --detail /dev/sdb7

         #mdadm  /dev/md0 --remove  /dev/sdb7

         #mdadm  /dev/md0 --add  /dev/sdb9       (備份分區/dev/sdb8已激活

本文轉自 chaijowin 51CTO部落格,原文連結:http://blog.51cto.com/jowin/1650070,如需轉載請自行聯系原作者