Linux存儲管理1

一,基本分區

1,磁盤/硬盤/disk/簡介

1.1 類型

按工作原理區分

機械
機械硬盤即是傳統普通硬盤,主要由:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成。
固態

SSD的優勢
  SSD是摒棄傳統磁介質,採用電子存儲介質進行數據存儲和讀取的一種技術,突破了傳統機械硬盤的性能瓶頸,
擁有極高的存儲性能,被認爲是存儲技術發展的未來新星。  
    固態硬盤的全集成電路化、無任何機械運動部件的革命性設計,從根本上解決了在移動辦公環境下,對於數據讀
寫穩定性的需求。全集成電路化設計可以讓固態硬盤
做成任何形狀。與傳統硬盤相比,SSD固態電子盤具有以下優點:  
第一,SSD不需要機械結構,完全的半導體化,不存在數據查找時間、延遲時間和磁盤尋道時間,數據存取速度快。
第二,SSD全部採用閃存芯片,經久耐用,防震抗摔,即使發生與硬物碰撞,數據丟失的可能性也能夠降到最小。  
第三,得益於無機械部件及FLASH閃存芯片,SSD沒有任何噪音,功耗低。  
第四,質量輕,比常規1.8英寸硬盤重量輕20-30克,使得便攜設備搭載多塊SSD成爲可能。同時因其完全半導體化,
無結構限制,可根據實際情況設計成各種不同接口、形狀的特殊電子硬盤。

圖示


1.2 尺寸

分爲3.5寸,2.5寸,1.8寸等

1.3 插拔

熱插拔,簡單 比如說U盤 MP3 攝像頭  那些 USB設備  
在電腦正常運行的時候  你可以 通過刪除設備 將他們直接取下來
也可以在電腦正常運行時安裝上去。

而非熱插拔,也簡單  比如說CPU 硬盤 內存。。
你不可能在電腦運行的時候 給他取下來吧...這樣
若你直接取下來  電腦 硬件就會燒了的!  只能關機時取下來!

1.4 接口

早期的IDE——現在SATA I/II/III

早期服務器SISC——現在服務器SAS

序列式SCSI(SAS:Serial Attached SCSI)是一種電腦集線的技術,其功能主要是作爲周邊零件的數據傳輸,如:硬盤、CD-ROM等設備而設計的界面。序列式SCSI 由並行SCSI物理存儲接口演化而來,是由ANSI INCITS T10技術委員會(T10 committee)開發及維護的新的存儲接口標準。與並行方式相比,序列方式能提供更快速的通信傳輸速度以及更簡易的配置。此外SAS並支持與序列式ATA(SATA)設備兼容,且兩者可以使用相類似的電纜。

其他的還有PCIE FC等。

1.5 轉速

轉速分爲5400rpm,7200rpm,10000rpm,15000rpm

1.6 廠商

硬盤的主要廠商有西部數據,希捷,三星日立金士頓之類。

1.7 從存儲連接方式(瞭解)

本地存儲

外部存儲 scs線  stat線 sas線 FC線


                  scsi線纜圖示

網絡存儲 以太網(iscsi,glusterFS,ceph) FC網絡

1.8術語

盤片   一塊硬盤有若干盤片,每個盤片有可以存儲數據的上、下兩盤面(Side)。這些盤面堆疊在主軸上高速旋轉,它們從上至下從“0”開始依次編號。

柱面  所有盤面上的同一磁道構成一個圓柱,稱作柱面

扇區  將一個盤面劃分爲若干內角相同的扇形,這樣盤面上的每個磁道就被分爲若干段圓弧,每段圓弧叫做一個扇區。每個扇區中的數據作爲一個單元同時讀出或寫入。硬盤的第一個扇區,叫做引導扇區。

磁道  每個盤面被劃分成許多同心圓,這些同心圓軌跡叫做磁道;磁道從外向內從0開始順序編號。

圖示


1.9 命名

kernel對不同接口硬盤命名方式
    OS IDE(並口) SATA(串口) SCSI
    RHEL5 /dev/hda /dev/sda /dev/sda
    RHEL6 /dev/sda /dev/sda /dev/sda
    RHEL7 /dev/sda /dev/sda /dev/sda
    KVM /dev/vda(半虛擬化驅動)
          KVM增加硬盤
          半虛擬化驅動磁盤: online
          全虛擬化驅動磁盤: offline

    /dev/sda(全虛擬化驅動)

2.0 分區

MBR
    
MBR <2TB fdisk(4個主分區,擴展分區,邏輯分區)
    例如: 3主 + 1擴展(n邏輯)

    圖示   

  

GPT
    GPT >    2TB gdisk(parted) 128個主分區
         GUID磁盤分區表(GUID Partition Table,縮寫:GPT)
    注意:從MBR轉到GPT,或從GPT轉換到MBR會導致數據全部丟失!

2,創建RAID

      RAID 0:連續以位或字節爲單位分割數據,並行讀/寫於多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗餘,因此並不能算是真正的RAID 結構。RAID 0 只是單純地提高性能,並沒有爲數據的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數據。因此,RAID 0 不能應用於數據安全性要求高的場合。
      RAID 1:它是通過磁盤數據鏡像實現數據冗餘,在成對的獨立磁盤上產生互爲備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1 可以提高讀取性能。RAID1 是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫 ,而不需要重組失效的數據。簡單來說就是:鏡象結構,類似於備份模式,一個數據被複制到兩塊硬盤上。

      RAID10:高可靠性與高效磁盤結構一個帶區結構加一個鏡象結構,因爲兩種結構各有優缺點,因此可以相互補充。主要用於容量不大,但要求速度和差錯控制的數據庫中。

      RAID5:分佈式奇偶校驗的獨立磁盤結構,它的奇偶校驗碼存在於所有磁盤上,任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。支持一塊盤掉線後仍然正常運行。請參考《Linux就該這麼學》使用RAID硬盤技術章節。

真實服務器配置RAID : http://www.jb51.net/article/53814.htm

3,管理磁盤

3.1 添加磁盤

KVM增加硬盤
半虛擬化驅動磁盤: online
                
                
全虛擬化驅動磁盤: offline
VMWARE增加磁盤
1編輯虛擬機設置
                
2增加磁盤
               

3.2 管理磁盤流程三部曲

分區(MBR或者GPT) ---->文件系統 Filesystem ----> 掛載mount

3.3 查看磁盤信息

方法1
注意:kvm虛擬化磁盤vda,真實服務器上sda
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 1月  25 09:35 /dev/sda
brw-rw----. 1 root disk 8,  1 1月  25 09:35 /dev/sda1
brw-rw----. 1 root disk 8,  2 1月  25 09:35 /dev/sda2
brw-rw----. 1 root disk 8, 16 1月  25 09:35 /dev/sdb
brw-rw----. 1 root disk 8, 32 1月  25 09:35 /dev/sdc
brw-rw----. 1 root disk 8, 48 1月  25 09:35 /dev/sdd
/dev/sdb和/dev/sdc相當於購買的新磁盤。
方法2          
[root@server0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
vdc 252:32 0 8G 0 disk
名稱 設備類型 序號 是否可移動設備  大小  是否只讀  磁盤或分區  掛載點
注意
vmware的磁盤名稱/dev/sda
kvm的磁盤名稱/dev/vda

3.4 創建分區

fdisk(MBR)          
MBR 管理分區
創建分區
[root@localhost ~]# fdisk      /dev/sdb
n        //創建新分區
p        //主分區
1        //1號分區
回車    //起始扇區
+100M    //結束大小
w            //保存分區設置。
查看分區創建信息
# fdisk -l /dev/sdb
# partprobe /dev/sdb      //在有緩存的時候,刷新磁盤分區表。
[root@localhost ~]# fdisk -l /dev/sdb

磁盤 /dev/sdb:2147 MB, 2147483648 字節,4194304 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x787eea5e

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      411647      204800   83  Linux
/dev/sdb2          411648     1026047      307200   83  Linux
/dev/sdb3         1026048     1435647      204800   83  Linux
/dev/sdb4         1435648     4194303     1379328    5  Extended
/dev/sdb5         1437696     1847295      204800   83  Linux
/dev/sdb6         1849344     2258943      204800   83  Linux
/dev/sdb7         2260992     4194303      966656   83  Linux
[root@localhost ~]#

不管是ll 還是fdisk,都能看到多個新分區,sdb1~sdb3是主分區,sdb4擴展分區,sdb5~7邏輯分區。

3.4 創建文件系統(格式化)centos7默認使用xfs

文件系統:儲物櫃;格子櫃
方法一:# mkfs.ext4 /dev/sdb1

問題:未掛載的分區,如何查詢文件系統
                
                    
方法二:# mkfs.xfs /dev/sdb2(瞭解)
文件系統類型XFS和EXT4在後續章節講解。在此使用哪種都可以。
後續的分區,如果使用,就必須格式化

3.5 掛載mount

方法一:手動掛載(重啓失效)
創建掛載點,一個分區一個掛載點
# mkdir /mnt/disk1
# mkdir /mnt/disk2
# mount -t ext4  /dev/sdb1 /mnt/disk1(瞭解) //手動不推薦
# mount -t xfs  /dev/sdb2 /mnt/disk2 //手動不推薦
方法二:自動掛載(重啓不失效)
第一步:查看分區的ID
# blkid
第二步:使用UUID來自動掛載分區
# vim /etc/fstab
UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" /mnt/disk1 auto defaults 0 0
UUID="4d26172c-7aff-4388-baa5-c6756c014d52" /mnt/disk2 ext4 defaults 0 0
分區信息   掛載點(文件夾)  文件系統類型   屬性(默認)  壓縮  檢測
第三步:手動刷新
# mount -a

注意/etc/fstab中有固定格式
磁盤                   掛載點    文件系統        屬性   備份  檢測
/dev/vdb1   /mnt/disk1    xfs或者auto    default    0     0

3.6 查看掛載信息

方法1 df -hT
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb1 xfs 197M 48M 150M 24% /mysql_data
分區     文件系統   大小  佔用  空閒  佔比  掛載點
一般df看的是磁盤分區大小。
方法2 mount
          
[root@server0 ~]# mount
/dev/sdb1 on /mysql_data type xfs (rw,relatime,seclabel,attr2,inode64,noquoa)
/dev/sdb3 on /mnt/disk1/disk2/disk3/disk4 type ext4 (rw,relatime,seclabel,dta=ordered)
mount 看的是磁盤有沒有特殊屬性,具體屬性在後續講解。

3.7 磁盤管理方式2gdisk(瞭解)

本章後續使用的是fdisk 創建分區,gdisk做爲了解部分。
====gdisk====

GPT 128個主分區
創建分區
# gdisk -l /dev/vdc
# gdisk /dev/vdc
# partprobe /dev/vdc
# ll /dev/vdc*
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/vdc
brw-rw----. 1 root disk 253, 33 Jun 6 17:38 /dev/vdc1
brw-rw----. 1 root disk 253, 34 Jun 6 17:38 /dev/vdc2

格式化(略)
掛載 (略)
            

parted  /dev/sda        //分區管理工具
mklabel msdos          //將分區轉爲mbr
mklabel gpt                //將分區轉爲GPT

二,邏輯卷LVM

1, 目的:管理磁盤的一種方式,性質與基本磁盤無異

2, 特點:隨意擴張大小,縮減大小,快照備份。

3, 流程

基本分區(MBR|GPT) ----> Filesystem ----> mount
邏輯卷        ----> Filesystem ----> mount

4, 工作原理

名詞
PV:物理卷(Physical volume)
VG:卷組(Volume Group)
LV:邏輯卷(Logical Volume)
PE:物理塊(Physical Extent)
LE:邏輯塊(Logical Extent)

圖示(可以放大看)


             

5,創建LVM

5.1 準備物理磁盤

0. 準備物理磁盤(可以是: /dev/sdb /dev/sdc1 (建立在RIAD之上))
[root@server0 ~]# ll /dev/sd*
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/sdc
brw-rw----. 1 root disk 253, 48 Jun 6 17:38 /dev/sdd
brw-rw----. 1 root disk 253, 64 Jun 6 17:38 /dev/sde
建議使用相同的磁盤名稱。
如果再CENTOS6中,千萬記得將分區類型更改爲8E

5.2 pv

1 將物理磁盤,轉換成物理卷-PV
[root@server0 ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created

查看PV信息                  
[root@server0 ~]# pvscan
PV /dev/vdd lvm2 [2.00 GiB]
Total: 1 [2.00 GiB] / in use: 0 [0 ] / in no VG: 1 [2.00 GiB]

[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd lvm2 a-- 2.00g 2.00g

[root@server0 ~]# pvdisplay

5.3 vg

創建卷組-VG
[root@server0 ~]# vgcreate vg1 /dev/sdc
Volume group "vg1" successfully created
查看卷組信息
第一種方法,查看卷組的摘要信息。卷組名,物理卷數量,邏輯卷數量,大小等。
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- 2.00g 2.00g

第二種方法,掃描卷組信息。
[root@server0 ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg1" using metadata type lvm2


第三種方法。顯示卷組詳細信息。
[root@server0 ~]# vgdisplay
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.00 GiB                    //重點觀察
PE Size 4.00 MiB                    //重點觀察
Total PE 511                        //重點觀察
Alloc PE / Size 0 / 0
Free PE / Size 511 / 2.00 GiB
VG UUID 7E4tlj-l0a2-ph52-OytH-eaq7-58K6-2S4n8V

補充:vgcreate -s 10M vg1 /dev/sdb1 //表示創建卷組vg1並指定PE大小爲10M

          lvcreate -l 5 lv1 vg1    // 創建邏輯卷lv1並指定塊大小爲5   也就是5個PE大小就是50M

5.4 lv

創建邏輯卷
[root@server0 ~]# lvcreate -L 200M -n lv2 vg1
指定大小,單位M,G

查看LV                   
[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [400.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [200.00 MiB] inherit

5.5 創建文件系統並掛載

方法一:手動掛載
創建文件系統

[root@server0 ~]# mkfs.ext4 /dev/vg1/lv2
創建掛載點
[root@server0 ~]# mkdir  /mnt/lv2
掛載
[root@server0 ~]#mount /dev/vg1/lv2 /lv2
查看掛載結果
[root@server0 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-lv1 651948 32928 619020 6% /mnt/lv1
/dev/mapper/vg1-lv2 245671 2062 226406 1% /mnt/lv2

邏輯卷管理完畢,就可以向掛載點寫入數據了。
方法二:自動掛載
vim /etc/fstab
/dev/vg1/lv1    /mysql_data     ext4    defaults 0 0
分區 掛載點 文件系統 屬性 壓縮 檢測
mount -a

6,VG管理

6.1 ==擴大VG vgextend==

環境:/dev/vg1 容量由4G 擴容到 6G。
==擴大VG vgextend==
步驟1,創建PV。而後使用第二步,將PV增加到VG中。
[root@server0 ~]# pvcreate /dev/sdd1

步驟2:擴展VG,同時包含方法1.
[root@server0 ~]# vgextend vg1 /dev/sdd1
Volume group "vg1" successfully extended

擴容完成
查看VG
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 3.99g 3.76g

6.2 ==減小VG vgreduce==

警告

==減小VG ,命令雖少。但千萬需要注意的是數據遷移。

環境介紹

卷組vg1
物理卷sdc,sdd1和sde(查看物理卷pvs命令)
sdc物理卷中有數據
爲了避免vg縮減影響數據,請先將sdd中的數據移動到sde中。

查看當前的VG中PV的使用情況               

[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdc vg1 lvm2 a-- 2.00g 1.76g
/dev/sdd1 vg1 lvm2 a-- 2.00g 2.00g
/dev/sde vg1 lvm2 a-- 2.00g 2.00g
注意觀察,PV的空間。一個是使用過的,一個是滿的。

pvmove,會將sdd中的數據,移動到sde中

[root@server0 ~]# pvmove /dev/sdc
/dev/sdc: Moved: 16.7%
/dev/sdc: Moved: 100.0%
可以看到移動過程。

再次查看,空間已經發生變化

[root@localhost ~]# pvs
PV         VG     Fmt  Attr PSize   PFree
/dev/sda2  centos lvm2 a--  <19.00g     0
/dev/sdc   vg1    lvm2 a--   <2.00g <2.00g
/dev/sdd1  vg1    lvm2 a--   <2.00g  1.80g
/dev/sde   vg1    lvm2 a--   <2.00g <2.00g

vgreduce VG縮減。

[root@server0 ~]# vgreduce vg1 /dev/sdd
Removed "/dev/sdd" from volume group "vg1"

再次觀察,VG中少了一個PV

[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 2 0 wz--n- 2.00g 1.76g
觀察,PV的數量變少了。

7,LV擴容

擴大LV lvextend

1. lv擴容
1.查看VG空間。
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g
請觀察,VG是否有剩餘空間。
2.擴容LV。
[root@server0 ~]# lvextend -L +200M /dev/vg1/lv2
增加200M空間,給lv2
查看LV                       
[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [300.00 MiB] inherit

觀看LV大小已經發生改變。
如果希望縮減LV,1請注意數據保存。2使用lvreduce
 注意
xfs的lvm不支持縮容
Xfs filesystem shrinking is unsupported
2. FS擴容
先觀察文件系統當前容量。
[root@server0 ~]# df -Th
/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2

. ext2/3/4文件系統擴容
[root@server0 ~]# resize2fs /dev/vg1/lv2
再次觀察df -hT 的分區大小。和上一次的對比一下。大小已經發生改變。

查看FS
                        
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 765M 67M 698M 9% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
請注意對比,之前的輸出結果,文件系統的大小發生改變。

如果您的文件系統,不是EXT4。那請用下列命令來更新XFS文件系統

xfs文件系統擴容請注意,不同的文件系統,擴容指令不同。
[root@server0 ~]# xfs_growfs /dev/vg1/lv1

減小LV lvreduce

減容注意事項(瞭解)
環境介紹
邏輯卷/dev/vg1/lv2,大小400M,並掛載到/mnt/lv2
需要先將lv卸載(umount),再進行減容操作。
1.首先查看磁盤使用情況
df -hT
注意分區大小400M
/dev/mapper/vg1-lv2     ext4      380M  2.3M  356M    1% /mnt/lv2
2、卸載
umount /dev/vg1/lv2
3、調整分區大小
e2fsck -f /dev/vg1/lv2
resize2fs -p /dev/vg1/lv2 200M
4、設置空閒空間,減容
lvreduce -L 200M /dev/vg1/lv2
5、掛載上/mnt/lv2,查看磁盤使用情況
mount /dev/vg1/lv2  /mnt/lv2/
df -h
    看到分區大小已經200M
     /dev/mapper/vg1-lv2     ext4      186M  1.6M  171M    1% /mnt

千萬注意,不要對已經掛載的LV進行兼容,會損壞文件系統。
千萬注意,縮減後的LV大小,要大於存儲數據的大小。
(重新格式化才能用)

8, LVM快照snapshot

快照的目的
快速-------備份數據。
快照與備份
備份原理
備份窗口
數據一致性
快照技術
COW
ROW
1. 創建快照 (EXT4)
快照之前準備一些文件
1. 創建快照 卷(EXT4)
[root@server0 ~]# lvcreate -L 128M -s -n lv2-snap /dev/vg1/lv2
或者這樣看呢,創建LV,名字lv2-snap,根據lv2進行快照,大小128M
lvcreate -n lv2-snap  -s /dev/vg1/lv2  -L 128M

2 查詢快照卷大小。
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos--- 512.00m
lv2-snap vg1 swi-aos--- 128.00m lv2 5.92
實驗到這裏就結束了。
注意:製作快照限制,受VG大小。
2.掛載快照卷,恢復數據(驗證)
            
3 將快照卷掛載,拷貝出數據。可以用作回覆數據使用了。
[root@server0 ~]# mkdir    /mnt/lv2-snap
[root@server0 ~]# mount -o ro /dev/vg1/lv2-snap /mnt/lv2-snap/

3. 查看Snapshot
1 查看兩個卷的掛載情況。
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
/dev/mapper/vg1-lv2--snap ext4 488M 32M 429M 7% /mnt/lv2-snap

2 查看兩個卷的關係
[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE Original '/dev/vg1/lv2' [512.00 MiB] inherit
ACTIVE Snapshot '/dev/vg1/lv2-snap' [128.00 MiB] inherit

3 查看文件內容。根據情況進行使用。
[root@server0 ~]# ls /mnt/lv2
etc lost+found
[root@server0 ~]# ls /mnt/lv2-snap/
etc lost+found

4. 觀察Snapshot
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos--- 512.00m
lv2-snap vg1 swi-aos--- 128.00m lv2 30.56
4.提示xfs文件系統快照注意事項
            
XFS:不識別uuid ,所以需要單獨加上一個-o nouuid 來忽略掉。就可以使用xfs的快照了。
[root@server0 ~]# mount -o nouuid,ro /dev/vg1/lv1-snap /mnt/lv1-snap/
掛載快照,儘量使用ro的方式,將不會破壞快照卷中的數據

9、命令總結

看幫助,查文檔,LVM命令一大堆。頭疼記不住。
歸類彙總
            
 lvm卸載流程
1.umountFS
2.刪除LV。
3.將PV從所在的VG中刪除。
4.刪除VG。
問題彙總
先刪除pv,後刪除vg時報錯。
Volume group "vg1" not found, is inconsistent or has PVs missing.
vgreduce --removemissing --force vg1

三,交換分區管理Swap

1,簡介

1.1 作用

 ‘提升‘ 內存的容量,防止OOM(Out Of Memory)

1.2 swap大小

推薦
設置交換分區大小爲內存的2倍

生產
大於 4GB 而小於 16GB 內存的系統,最小需要 4GB 交換空間;
大於 16GB 而小於 64GB 內存的系統,最小需要 8GB 交換空間;
大於 64GB 而小於 256GB 內存的系統,最小需要 16GB 交換空間。

2,查看當前的交換分區

[root@server0 ~]# free      -m
total used free shared buff/cache available
Mem: 489 140 145 4 202 304
Swap: 0 0 0

[root@server0 ~]# swapon -s
當前系統中,沒有swap。如果你的系統中有,請觀察大小,後續實驗會增加swap大小。

3,增加交換分區

類型
可以是分區或者LVM或者File

===分區/LVM===(方法一)
    ===分區===
1. 準備分區(準備將/dev/sde磁盤,劃分爲1G分區)
[root@server0 ~]# fdisk    /dev/sde (t轉換分區的ID 82)
[root@server0 ~]# partprobe /dev/sde
[root@server0 ~]# ll /dev/sde*
brw-rw----. 1 root disk 253, 16 12月 6 10:18 /dev/sde
brw-rw----. 1 root disk 253, 17 12月 6 10:18 /dev/sde1

2.格式化
[root@server0 ~]# mkswap /dev/sde1

3.掛載
[root@server0 ~]# blkid /dev/sde1
/dev/sde1: UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" TYPE="swap"

[root@server0 ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults 0 0

[root@server0 ~]# swapon -a (讀取/etc/fstab)
[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1
===File===(瞭解 方法二)
    ===File===
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 10G 3.3G 6.8G 33% /

[root@server0 ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
或者
[root@server0 ~]# dd </dev/zero >/swap2.img bs=1M count=512

[root@server0 ~]# mkswap /swap2.img

[root@server0 ~]# vim /etc/fstab
/swap2.img swap swap defaults 0 0

由於文件型擴展SWAP會提示權限不夠。所以擴大一下權限。
[root@server0 ~]# swapon -a
swapon: /swap2.img: insecure permissions 0644, 0600 suggested.
[root@server0 ~]# chmod 600 /swap2.img
[root@server0 ~]# swapon -a


[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1
/swap2.img file 524284 0 -2

4,對交換分區調整優先級[擴展]

關於swap優先級

swap分區的優先級(Priority)從高到低依次使用,最高32767,最低優先級是0
這樣設置使得Linux並行的使用優先級相同的swap分區(Priority = 1的分區),這會大幅的提高對swap的讀寫。當這些分區滿了,就會使用較低優先級swap分區(Priority = 0的分區)

設置swap優先級

多個交換分區分佈在不同的磁盤
掛載時,使用相同的優先級

[root@server0 ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults,pri=1 0 0
UUID="ea5b1c77-e540-465c-9644-0d75457f8b45" swap swap defaults,pri=1 0 0
pri是優先級的意思,設置相同即可。

[root@server0 ~]# swapon -a
[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/sdb1 partition 524284 0 1
/dev/sdc1 partition 524284 0 1










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