linux--磁盤管理

磁盤管理項目需求:

1、在企業服務器上安裝新硬盤,對磁盤進行分區、格式化、掛載處理

2、根據企業服務器數據業務的不同,採用不同的raid技術來保證數據的讀寫速度、數據安全

3、在企業的存儲服務器上採用LVM邏輯卷技術來實現容量的動態調整

4、在服務器的運維工作中隨機對系統進程進行分析和管理

 

 項目測試:

 

原理概述:存儲管理是系統中必不可少的技術,Linux系統中支持多種存儲管理技術。在企業服務器中需要根據業務的不同來分別使用分區、raidLVM邏輯卷等技術。

 

測試環境:Linux系統、ssh遠程管理


根據上述所需應掌握以下技術:



磁盤管理之硬盤分區方式:

硬盤分區(disk partition):
GPT分區管理:parted命令
GPT:是GUID(Globally Unique Identifier) Partition Table全局唯一標識分區表的縮寫。GPT分區表中只有主分區這個管理概念。允許創建128個主分區。GPT分區表可以用來管理總容量大於2TB以上的硬盤。硬盤的UUID號可用blkid命令來查。

GUID:全局唯一標識符(GUID,Globally Unique Identifier)是一種由算法生成的二進制長度爲128位的數字標識符。GUID主要用於在擁有多個節點、多臺計算機的網絡或系統中。GUID標識符由隨機產生的字母、數字混合組成
parted -s /dev/sdb mklabel gpt                          定義分區表標籤
parted -s /dev/sdb mkpart  primary 1M 1.5G    創建第一個分區爲1.5G
parted -s /dev/sdb mkpart  primary '1.5G -1'  創建第二個分區爲剩下的所有分區
mkfs.ext4 /dev/sdb1                                           格式化一號分區
mkfs.xfs  /dev/sdb2                                            格式化二號分區
mkdir -pv /mnt/sdb{1,2}                                    創建掛載目錄
mount /dev/sdb1 /mnt/sdb1                             分區一掛載到/mnt/sdb1目錄中
mount /dev/sdb2 /mnt/sdb2                             分區二掛載到/mnt/sdb2目錄中
touch /mnt/sdb1/{a.txt,b.mp3}                           寫入數據

卸載分區的文件系統:umount   /mnt/sdb1   /mnt/sdb2
刪除分區表(修改分區表格式標籤即可):parted  -s  /dev/sdb  mklabel  msdos

---------------

MBR分區表管理:
MBR:是主引導記錄(main  boot record)的縮寫。
MBR:是保存在硬盤的0磁道0柱面1扇區的位置,佔用512字節(因爲1個扇區默認的大小是512字節)。其中bootloader引導程序佔用446字節,DPT(disk partition table)分區表佔用64字節,magic佔用2字節。

MBR的分區表特點:
0.只能管理總容量在2TB以內的硬盤。
1.最多隻允許分4個主分區,因爲DPT分區表總容量是64字節,每個分區佔用16字節,即64/16=4。
2.如果想分的個以上的分區,可採用分一個主分區(primary)和一個擴展分區(extend),然後在擴展分區中創建邏輯(logical)分區來實現。
3.主分區的編號爲1~4,第1個邏輯分區的編號默認爲5。
4.只能在主分區和邏輯分區上格式化創建文件系統。並且只能在主分區和邏輯分區上寫入文件。
創建分區: cfdisk   /dev/sdb
格式化分區:mkfs.ext4   /dev/sdb1
           mkfs.xfs    /dev/sdb5
           mkfs.xfs    /dev/sdb6
創建掛載點目錄:mkdir  -pv  /mnt/{data,mysql,web}
手動掛載:mount  /dev/sdb1   /mnt/data
         mount  /dev/sdb5   /mnt/mysql
 mount  /dev/sdb6   /mnt/web
寫入數據:touch  /mnt/data/{a1.txt,b1.mp3}  
         mkdir  -pv  /mnt/mysql/{haha,hehe}
 cp  -v  /etc/host*   /mnt/web/
遞歸顯示文件名列表:ls  -R  /mnt/{data,mysql,web}

-----------------
fdisk分區:
功能:對硬盤進行分區的查、增、刪、改等操作。
用法:fdisk  [選項]  磁盤設備
選項:-l  顯示分區表信息

fdisk  /dev/sdb         對/dev/sdb 進行分區
fdisk的常用快捷鍵:
m:顯示命令幫助
p 顯示分區表信息(print)
n 新建一個分區(new)
d 刪除一個分區(delete)
w 保存並退出(write)
q 不保存退出(quit)
l 顯示(list)分區的文件系統類型標籤代號
t 修改分區的文件系統類型(type)標籤
a 激活(active),即給分區添加bootable允許引導的標記(通常用於boot引導程序的分區)

分區後格式化,再掛載


       RAID
raid: 是冗餘磁盤陣列的縮寫,簡稱磁盤陣列。
Raid功能:提供了容量組合、高讀寫性能、同步備份等功能。

RAID 0 :  條帶化                                  硬盤數量 >=2  允許壞盤數0塊    高讀寫性能 容量組合
RAID 1 :  鏡像化                                  硬盤數量 =2     1塊冗餘(可壞)    同步備份,安全性高
RAID 5 :  分佈式奇偶效驗的條帶化        硬盤數量>=3   1塊冗餘             高>讀寫性能 數據安全
RAID 6 :  雙組分佈式奇偶效驗的條帶化 硬盤數量>=4   2塊冗餘              高讀寫性能 數據安全
RAID10:  鏡像化+條帶化              硬盤數量>2的偶數    可壞一半            容量組合+同步備份

Linux系統中軟raid管理工具軟件:mdadm
mdadm命令選項:
-C  即create,創建raid設備
-l  即level,指定raid等級號,等級可以是0、1、5、6、10等
-n  即number,指定raid中的磁盤設備數量
-x  即spare空格,指定raid設備中的熱備(備胎、替補)磁盤數量
-D  即detail詳細,顯示raid設備的詳細信息
-s  即scan掃描,掃描出系統中所有的raid設備
-v  即verbose,顯示執行過程
-S  即stop,停用指定的raid設備
-A  即active,激活(啓用)指定的raid設備
-a  即add,在指定的raid設備組中添加新的成員
-f  即faulty錯誤的,指定raid設備組中有故障的磁盤
-r  即remove移除,在指定的raid設備組中刪除有故障的磁盤

顯示磁盤設備列表:lsblk
顯示raid設備列表:mdadm  -Dsv
創建名稱爲md5的raid 5設備:mdadm  -C  md5  -l  5   -n  3   -x  1   /dev/sd{b..e}
顯示名稱爲md5的raid 5設備的詳細信息:mdadm  -D   /dev/md/md5
顯示raid設備列表:mdadm  -Dsv
生成raid配置文件:mdadm  -Dsv  >  /etc/mdadm.conf

附加操作:
顯示磁盤設備列表:lsblk
停用md5這個raid設備:mdadm  -S  /dev/md/md5
啓用md5這個raid設備:mdadm  -A  /dev/md/md5
警告:要想在停用raid設備之後再啓用,必須保證mdadm.conf配置文件存在。

-------------

       LVM邏輯卷管理

LVM概念:
LVM的主要功能:容量組合,動態調整容量大小。
LVM是將多塊硬盤從邏輯上組合成一個大容量的存儲空間(即VG卷組),最終要劃分成小的LV邏輯捲來使用這些空間。
LVM的管理流程:先給硬盤分區(也可以不分區),再創建PV物理卷(volnume),再創建VG卷組,再創建LV邏輯卷,再mkfs格式化LV,再mount手動或fstab自動掛載LV,再寫入數據。

創建lvm
pvcreate  /dev/sdb  /dev/sdc      ----------       創建pv物理卷
vgcreate  myvg  /dev/sdb  /dev/sdc ------       創建myvg的卷組 ,並把/dev/sdb /dev/sdc拉入myvg卷組
lvcreate  -L  3G  -n  mylv  myvg       -------       創建容量爲3G,名爲mylv的lv邏輯卷
(查看pv狀態,vg狀態,lv狀態: pvs   vgs   lvs)
掃描並顯示系統中的所有LV設備: lvscan
mkfs.ext4  /dev/myvg/mylv       -----------       格式化
mkdir  /mnt/data                ----------------       創建掛載目錄
mount  /dev/myvg/mylv    ----------------       手動掛載

--------------
lvm擴容

將/dev/sdd /dev/sde加入myvg卷組中,並將mylv容量調整成7G
pvcreate  /dev/sdd  /dev/sde     -----------       創建pv物理卷
vgextend  myvg  /dev/sdd  /dev/sdc    ----       在myvg這個卷組中添加 /dev/sdd  /dev/sde
lvextend  -L  7G  /dev/myvg/mylv    -------       把mylv容量調整爲7G

df  -h 查看磁盤容量信息
resize2fs  /dev/myvg/mylv   同步文件中的系統容量信息

---------------
lvm縮容

df  -h                    -----------------       顯示磁盤空間使用狀態
umount  /mnt/data         ----------      卸載掛載點所對應的設備
e2fsck  -f  /dev/myvg/mylv -------      掃描檢查磁盤設備
resize2fs  /dev/myvg/mylv  1G   --      調整文件系統的容量爲1G
lvresize  -L  1G  /dev/myvg/mylv         lv容量縮減

VG卷組的縮容
vgs   pvs             -------------------      分別查看vg和pv的狀態
pvmove  /dev/sdb  /dev/sdd  -----      遷移sdb磁盤的數據到sdd硬盤中去
vgreduce   myvg  /dev/sd{b,c,e}  --      在myvg卷組中移除sdb sdc sde三個成員


----------------

  lvm快照恢復:

LVM快照的工作原理:LVM的快照卷也是一個LV邏輯卷,快照卷跟源邏輯卷共享數據,當用戶修改源邏輯卷中的文件時,LVM後臺程序會自動將修改之前的文件複製一份到快照卷中

創建mylv-snap快照卷 : lvcreate -L 500M -s -n myvg-snap /dev/myvg/mylv
創建掛載點目錄:mkdir  -pv  /mnt/mylv-snap
手動掛載:mount  /dev/myvg/mylv-snap  /mnt/mylv-snap

恢復快照:
                思路:先卸載源邏輯卷--〉恢復快照--〉掛載邏輯卷
                卸載:umount  /dev/myvg/mylv   /dev/myvg/mylv-snap
                恢復快照:lvconvert  --merge  /dev/myvg/mylv-snap
                掛載:mount  /dev/myvg/mylv   /mnt/mydata
                顯示掛載點目錄中的文件內容:cat  /mnt/mydata/hosts


---------------

   quota磁盤限額

           quota的磁盤配額可以限制用戶的硬盤可用空間或最大創建文件數量,並且還有軟/硬限制的區別:
           soft軟限制  -----------  當達到軟限制時會提示用戶,但允許用戶在規定期限內繼續使用。
           hard硬限制  ----------  當達到硬限制時會提示用戶,且強制終止用戶的操作。
           block塊  -------------   限制用戶能使用的容量。
           inode索引號  ---------  限制用戶能創建的文件數量。

lsblk                     ----------------------------------              顯示塊設備
parted  -s  /dev/sdf   mklabel  msdos     -------------       設置分區表格式標籤爲msdos(即MBR分區表)
parted  -s  /dev/sdf   mkpart  primary  '1  -1 '   ------     創建主分區,使用所有容量
mkfs.ext4   /dev/sdf1       -----------------------------          格式化sdf1分區爲ext4文件系統
mkdir  -pv  /f1                 -----------------------------          創建掛載點目錄
mount  -o  usrquota,grpquota  /dev/sdf1   /f1 -------      手動掛載sdf1設備,並使用磁盤配額功能
setenforce  0        --------------------------------------            臨時關閉Selinux安全功能
getenforce                  ----------------------------------        查selinux的工作狀態
quotacheck  -cvug   /f1      ----------------------------       生成quota主配置文件
ls   /f1      --------------------------------------------         顯示/f1目錄的文件名列表
quotaon  -v  /f1  -------------------------         激活quota功能,如果未激活,後期切換到用戶後,用quota查狀態會出沒有權限
useradd  -Db  /f1    ----------------------------------        修改useradd創建用戶時的用戶家目錄的基目錄爲/f1
useradd   fa       --------------------------------------        創建fa用戶
repquota  -av    --------------------------------------        顯示quota配額狀態信息報表
edquota  -u  fa  --------------------------------------        給fa用戶設置文件數量配額,軟限制爲15個文件,硬限制爲18個文件。

su  -  fa               -------------------------------------        切換到fa用戶
quota    ----------------------------------------------         顯示當前用戶的quota配額使用狀態信息
touch  {1..5}    ---------------------------------------          會提示quota  exceeded配額超出,即超出了軟限制。
touch  {6..10}   --------------------------------------          會提示超出磁盤限額,無法創建。即超出了硬限制。
exit    退出當前用戶

edquota命令補充:
將fa用戶的配額方案複製給fb用戶:edquota   -p  fa  zk


--------------


       swap交換分區:
虛擬內存:將硬盤的一部分空間當作內存來使用。用來緩解物理內存不足的問題

使用swap構建分區:
應用場景:
硬盤已經沒有剩餘空間來創建swap分區時,在硬盤上創建一個swap文件來充當swap分區。


使用swap分區


應用場景:
1.硬盤已經沒有剩餘空間來創建swap分區時,在硬盤上創建一個swap文件來充當swap分區。
dd  if=/dev/zero  of=/tmp/swap  bs=1M  count=128  (使用dd命令來創建一個128M的文件到/tmp目錄中)
mkswap  /tmp/swap         使用mkswap將/tmp/swap文件格式化成swap
free                               查看當前swap值
swapon  /tmp/swap          啓用/tmp/swap
free                               驗證swap是否多了128M

swapoff  /tmp/swap          關閉/tmp/swap文件
2.如果硬盤有空閒空間來創建swap分區時,可以在硬盤上創建一個swap分區並啓用swap。
目標:在sdb硬盤上創建一個500M的swap分區,並啓用這個Swap分區。

perted  -s  /dev/sdb  mklabel  msdos               設置分區表類型爲msdos(即MBR)
parted  -s  /dev/sdb  mkpart  primary  1  500M    創建1個500M的主分區
mkswap  /dev/sdb1                                     使用mkswap將/dev/sde1文件格式化爲swap格式
free                                                          查看當前swap值
swapon  /dev/sdb1                                      使用swapon來啓用/dev/sde1
free

swapoff  /dev/sdb1                                      使用swapoff關閉/dev/sde1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章