ENGINEER01 - 分割槽規劃和使用,LVM邏輯卷

李俊的部落格發表於2018-03-19

分割槽規劃

  扇區的大小:預設 512 位元組

 • 識別硬碟 => 分割槽規劃 => 格式化 => 掛載使用

                         fdisk            mkfs         臨時掛載:  mount   

                                                             永久掛載: /etc/fstab                   

一、分割槽規劃
  
   MBR分割槽模式    最大2TB空間  

    – 三種分割槽型別:主分割槽  擴充套件分割槽  邏輯分割槽

    – 1~4個主分割槽,或者 3個主分割槽+1個擴充套件分割槽(n個邏輯分割槽) 
    – 最大支援容量為 2.2TB 的磁碟
    – 擴充套件分割槽不能格式化
    – 理論上:最多有4個主分割槽

  /dev/sdc5  表示 scsi型別的磁碟,第三塊,第一個邏輯分割槽

虛擬機器Server
1.檢視本機識別硬碟
[root@server0 ~]# lsblk   (list block:列出可用裝置)

2.分割槽指令  fdisk
[root@server0 /]# fdisk /dev/vdb 
   n 建立新的分割槽----->回車----->回車---->回車----->在last結束時 +2G
   p 檢視分割槽表
   n 建立新的分割槽----->回車----->回車---->回車----->在last結束時 +2G
   d 刪除分割槽

   w 儲存並退出

[root@server0 ~]# lsblk 
[root@server0 ~]# ls  /dev/vdb[1-2] 

3.格式化檔案系統
mkfs 工具集  (make file system)
  – mkfs.ext4 分割槽裝置路徑
  – mkfs.xfs  分割槽裝置路徑
  – mkfs.vfat -F 32 分割槽裝置路徑

[root@server0 ~]# blkid /dev/vdb1          #檢視分割槽UUID及檔案系統資訊
[root@server0 ~]# mkfs.ext4 /dev/vdb1   #給分割槽賦予檔案系統
[root@server0 ~]# blkid /dev/vdb1

[root@server0 ~]# blkid  /dev/vdb2         #檢視分割槽UUID及檔案系統資訊
[root@server0 ~]# mkfs.xfs /dev/vdb2
[root@server0 ~]# blkid  /dev/vdb2

[root@server0 ~]# mkfs.xfs /dev/vdb2
mkfs.xfs: /dev/vdb2 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.

    -f :強制格式化

4.掛載使用
[root@server0 ~]# mount /dev/vdb1  /mypart1
mount: 掛載點 /mypart1 不存在
[root@server0 ~]# mkdir  /mypart1
[root@server0 ~]# mkdir  /mypart2
[root@server0 ~]# mount  /dev/vdb1  /mypart1
[root@server0 ~]# mount  /dev/vdb2  /mypart2

[root@server0 ~]# df  -h      #檢視所有  正在掛載使用   的分割槽的資訊

################################################################
 綜合分割槽:
     
   請劃分  3個主分割槽,分別為2G
   劃分  2個邏輯分割槽,分別 為 1G

[root@server0 ~]# fdisk   /dev/vdb
   p 檢視分割槽表
   n 建立新的分割槽----->回車----->回車---->回車----->在last結束時 +2G
   p 檢視分割槽表
   n 建立新的分割槽 
                   ----->回車---->起始回車----->結束回車  將所有空間給擴充套件分割槽
   p 檢視分割槽表
   n 建立新的分割槽----->起始回車------>結束+1G
   n 建立新的分割槽----->起始回車------>結束+1G
   d 刪除分割槽
   w 儲存並退出

[root@server0 ~]# partprobe           #重新整理   新的分割槽
[root@server0 ~]# lsblk 
[root@server0 ~]# ls /dev/vdb[1-6]

##################################################################

總結分割槽:

1.檢視識別硬碟          lsblk
2.劃分分割槽                fdisk
3.重新整理新的分割槽          partprobe
4.格式化                   mkfs.ext4
5.檢視檔案系統型別   blkid
6.掛載使用                mount
7.檢視掛載使用          df  -h
8.完成開機自動掛載   /etc/fstab
9.驗證照寫內容         mount  -a

#################################################################
開機自動掛載分割槽

• 配置檔案 /etc/fstab 的記錄格式
– 裝置路徑        掛載點            型別        引數           備份標記       檢測順序
/dev/vdb1          /mypart1      ext4     defaults              0                  0

 補充:vim  命令模式  按  o  另起一行進入   插入模式

 [root@server0 ~]# blkid  /dev/vdb1
 [root@server0 ~]# vim /etc/fstab 

 [root@server0 ~]# mount -a   #檢測/etc/fstab檔案格式,並嘗試掛載裝置
 [root@server0 ~]# df -h    (disk free)

################################################################3

對於/dev/vdc進行綜合分割槽:

  劃分3個主分割槽,分別為10G
  劃分2個邏輯分割槽,分別為10G

[root@server0 ~]# fdisk   /dev/vdc
   p 檢視分割槽表
   n 建立新的分割槽----->回車----->回車---->回車----->在last結束時 +10G  #第一個主分割槽
   p 檢視分割槽表
    .......
   n 建立新的分割槽(擴充套件分割槽) 
                   ----->回車---->起始回車----->結束回車  將所有空間給擴充套件分割槽
   p 檢視分割槽表
   n 建立新的分割槽----->起始回車------>結束+10G     #劃分第一個邏輯分割槽
   n 建立新的分割槽----->起始回車------>結束+10G     #劃分第二個邏輯分割槽
   d 刪除分割槽
   w 儲存並退出
[root@server0 ~]# lsblk    #檢視分割槽情況


################################################################
LVM邏輯卷 (Logical Volume Manager)

    作用:    1. 可以整合分散的空間
          2. 邏輯卷可以容量擴大

  將眾多的物理卷(pv),組成卷組(vg),再從卷組中劃分邏輯卷(lv),再去格式化邏輯卷,進行掛載

     麵粉---------》大面團---------》小麵糰------》蒸--------》吃
     磚---------》大房子---------》打隔段---------》裝修---------》入住

一、製作邏輯卷

1.建立卷組 :   vgcreate   卷組的名字    組成卷組的成員

[root@server0 ~]# vgcreate  myvg  /dev/vdc1  /dev/vdc2

[root@server0 ~]# pvs   #顯示物理卷的資訊

[root@server0 ~]# vgs   #顯示卷組的資訊

2.建立邏輯卷 :  lvcreate  -n  邏輯卷的名字  -L 大小     卷組的名字  

[root@server0 ~]# lvcreate  -n  vo  -L 16G  myvg

[root@server0 ~]# lvs   #顯示邏輯卷的資訊
[root@server0 ~]# vgs   #顯示卷組的資訊

3.使用邏輯卷
[root@server0 ~]# mkfs.ext4  /dev/myvg/vo 
[root@server0 ~]# blkid  /dev/myvg/vo  (檢視檔案系統型別)
[root@server0 ~]# mkdir /lvm

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

/dev/myvg/vo  /lvm   ext4  defaults  0 0

[root@server0 ~]# mount  -a 

[root@server0 ~]# df  -h   (disk free human readable)

##############################################################
 邏輯卷的擴大,支援線上操作  (面試題)

一、卷組有足夠的剩餘空間

1.空間的擴充套件
[root@server0 ~]# vgs
[root@server0 ~]# lvextend -L 18G /dev/myvg/vo 
[root@server0 ~]# lvs  

2.檔案系統的擴充套件
   resize2fs : ext4檔案系統擴充套件命令
   xfs_growfs : xfs檔案系統擴充套件命令

[root@server0 ~]# df -h
[root@server0 ~]# resize2fs  /dev/myvg/vo 
[root@server0 ~]# df -h

二、卷組沒有足夠的剩餘空間

1.擴充套件卷組空間
[root@server0 ~]# vgextend myvg /dev/vdc3
[root@server0 ~]# vgs

2.空間的擴充套件
[root@server0 ~]# vgs
[root@server0 ~]# lvextend -L 25G /dev/myvg/vo 
[root@server0 ~]# lvs  

3.檔案系統的擴充套件
   resize2fs : ext4檔案系統擴充套件命令
   xfs_growfs : xfs檔案系統擴充套件命令


[root@server0 ~]# df -h
[root@server0 ~]# resize2fs  /dev/myvg/vo 
[root@server0 ~]# df -h


##################################################################
瞭解:邏輯卷的縮小,有風險

    1.先縮減檔案系統的大小,在縮減空間的大小

[root@server0 ~]# resize2fs /dev/myvg/vo 10G

[root@server0 ~]# umount /lvm/
[root@server0 ~]# resize2fs /dev/myvg/vo 10G

[root@server0 ~]# e2fsck -f /dev/myvg/vo
[root@server0 ~]# resize2fs /dev/myvg/vo 10G

[root@server0 ~]# lvreduce -L 10G /dev/myvg/vo 
  WARNING: Reducing active logical volume to 10.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vo? [y/n]: y

[root@server0 ~]# df -h

    ext4檔案系統可以縮減
    xfs檔案系統不支援縮減
##################################################################
  PE:卷組劃分空間的單位

• 建立卷組的時候設定PE大小
– vgcreate -s PE大小 卷組名 空閒分割槽...
– vgchange -s PE大小 卷組名

• 建立邏輯卷的時候指定PE個數

lvcreate -l PE個數 -n 邏輯卷名 卷組名

 [root@server0 ~]# vgdisplay myvg
 [root@server0 ~]# vgchange -s  1M    myvg

  請劃分一個邏輯卷名字lvtest01,大小為50個PE的總和

 [root@server0 ~]# lvcreate -l 80 -n lvtest01 myvg

 [root@server0 ~]# lvs



###################################################################
邏輯卷的刪除
[root@server0 ~]# lvremove /dev/myvg/vo 
  Logical volume myvg/vo contains a filesystem in use.

[root@server0 ~]# umount /lvm
[root@server0 ~]# lvremove /dev/myvg/vo 
Do you really want to remove active logical volume vo? [y/n]:y

[root@server0 ~]# lvs
[root@server0 ~]# vgremove myvg
[root@server0 ~]# vgs

[root@server0 ~]# pvremove /dev/vdc[1-3]
[root@server0 ~]# pvs

###############################################################

案例1:為虛擬機器 server 配置以下靜態地址引數
– 主機名:server0.example.com
[root@server0 ~]# vim /etc/hostname
– IP地址:172.25.0.11
– 子網掩碼:255.255.255.0
– 預設閘道器:172.25.0.254
[root@server0 ~]# nmcli connection modify 'System eth0' ipv4.method manual ipv4.addresses '172.25.0.11/24 172.25.0.254' connection.autoconnect yes
– DNS伺服器:172.25.254.254
[root@server0 ~]# vim /etc/resolv.conf 

案例2:複製、貼上、移動
 以root使用者新建/example/目錄,在此目錄下新建nsd.txt檔案,並進一步完成下列操作
 1)將“I love Study”寫入到檔案nsd.txt 
[root@server0 example]# vim nsd.txt
 2)將nsd.txt重新命名為mylove.txt
[root@server0 example]# mv nsd.txt mylove.txt
 3)將/etc/passwd、/boot、/etc/group同時拷貝到/example/目錄下
[root@server0 example]# cp -r /etc/passwd /boot/ /etc/group /example/
 4)將ifconfig命令的前兩行內容,追加寫入mylove.txt
[root@server0 example]# ifconfig |head -2 >> mylove.txt 
 5)將主機名永久配置檔案,拷貝到/example/目錄下
[root@server0 example]# cp /etc/passwd /example/
 6)將DNS永久配置檔案,拷貝到/example/目錄下
[root@server0 example]# cp /etc/resolv.conf /example/
 7)將開機自動掛載配置檔案,拷貝到/example/目錄下

[root@server0 example]# cp /etc/fstab /example/

案例3:在server上操作,(MBR分割槽模式)規劃分割槽
 新增一塊80G的硬碟並規劃分割槽:

   劃分2個10G的主分割槽;1個12G的主分割槽;1個20G的邏輯分割槽。

   [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    253:32   0  80G  0 disk 
├─vdc1 253:33   0  10G  0 part 
├─vdc2 253:34   0  10G  0 part 
├─vdc3 253:35   0  12G  0 part 
├─vdc4 253:36   0   1K  0 part 
└─vdc5 253:37   0  20G  0 part 

案例4:在server上操作,分割槽使用

1、案例3中新新增80G硬碟的第一個邏輯分割槽
– 格式化成xfs檔案系統,實現該分割槽開機自動掛載,掛載點為/mnt/xfs
[root@server0 ~]# mkfs.xfs /dev/vdc5
[root@server0 ~]# blkid /dev/vdc5
/dev/vdc5: UUID="da9fea20-1aab-4ca7-9b40-937a538e6306" TYPE="xfs" 
2、案例3中新新增80G硬碟的第一個主分割槽
– 完成開機自動掛載,掛載點/mnt/mypart,檔案系統為ext4
[root@server0 ~]# mkfs.ext4 /dev/vdc1
[root@server0 ~]# vim /etc/fstab 
/dev/vdc1 /mnt/mypart ext4 defaults 0 0

案例5:虛擬機器 server0操作,構建 LVM 儲存

– 新建一個名為 systemvg 的卷組 
[root@server0 ~]# vgcreate systemvg  /dev/vdc2

– 在此卷組中建立一個名為 vo 的邏輯卷,大小為8G 
[root@server0 ~]# lvcreate -L 8G -n vo systemvg 

– 將邏輯卷 vo 格式化為 xfs 檔案系統 
[root@server0 ~]# mkfs.xfs /dev/systemvg/vo 
[root@server0 ~]# blkid /dev/systemvg/vo

/dev/systemvg/vo: UUID="d186c92d-ad3f-4b6e-aad2-3606fb903f9b" TYPE="xfs" 

– 將邏輯卷 vo 掛載到 /vo 目錄,並在此目錄下建立一個測試檔案 votest.txt,內容為“I AM KING.” 

        /dev/systemvg/vo /vo xfs defaults 0 0

– 實現邏輯卷vo開機自動掛載到/vo

[root@server0 ~]# mkdir /vo
[root@server0 ~]# vim /etc/fstab 
[root@server0 ~]# mount -a
[root@server0 vo]# vim votest.txt


案例6:虛擬機器 server0操作,構建 LVM 儲存(修改PE大小)
– 新的邏輯卷命名為 database,其大小為50個PE的大小,屬於 datastore 卷組 
[root@server0 vo]# vgcreate datastore /dev/vdc3

[root@server0 vo]# lvcreate -l 50 -n database datastore   ( -l 是規定pe的個數)

– 在 datastore 卷組中其PE的大小為1M
[root@server0 vo]# vgchange -s 1M datastore 
[root@server0 vo]# lvcreate -l 50 -n database datastore

– 使用 EXT4 檔案系統對邏輯卷 database 格式化,此邏輯卷應該在開機時自動掛載到 /mnt/database 目錄
  [root@server0 vo]# mkfs.ext4 /dev/datastore/database 

[root@server0 datastore]# mkdir /mnt/database
[root@server0 datastore]# blkid /dev/datastore/database
/dev/datastore/database: UUID="94437cc3-4c0b-4bc8-8924-f4e0220d0858" TYPE="ext4" 

案例7: vim文字編輯器練習,命令模式下的基本操作(重點知識)

 1)將/etc/passwd的前20行,寫入到檔案/opt/pass20.txt 
[root@server0 datastore]# cat /etc/passwd | head -20 >> /opt/pass20.txt

 2)將/etc/shadow的前10行,追加寫入到檔案/opt/pass20.txt 
[root@server0 datastore]# cat /etc/shadow | head -10 >> /opt/pass20.txt 

 3)利用/opt/pass20.txt,進項如下操作:
    – 命令模式下移動游標:鍵盤上下左右鍵、Home鍵、End鍵

    – 命令模式下行間跳轉:到全文的第一行(1G或gg)、到全文的最後一行(G)、到全文的第10行(10G)

    – 命令模式下複製、貼上:
    複製1行(yy)、複製3行(3yy)

    貼上到當前行之後(小寫p)

    – 命令模式下刪除:
    刪除單個字元(x)
    刪除到行首(d^)、刪除到行尾(d$)
    刪除1行(dd)、刪除3行(3dd)
         
    – 命令模式下查詢關鍵詞: 
    搜尋(/word)切換結果(n、N)

    – 補充:在命令模式下大寫的C,可以刪除游標之後,並且進入輸入模式

相關文章