linux基礎之egineer01

 

1、分區規劃

  扇區的大小:默認 512 字節

 

 • 識別硬盤 => 分區規劃 => 格式化 => 掛載使用

   GPT分區模式:最大支持容量爲18EB空間

   MBR(又叫msdos)分區模式    最大2.2TB空間 

 

  •     – 三種分區類型:主分區  擴展分區  邏輯分區
  •     – 1~4個主分區,或者 3個主分區+1個擴展分區(n個邏輯分區)
  •     – 最大支持容量爲 2.2TB 的磁盤
  •     – 擴展分區不能格式化
  •     – 理論上:最多有4個主分區

  /dev/sdc5  表示 scsi類型的磁盤,第三塊,第一個邏輯分區

 

1-1、查看本機識別硬盤

 

[root@server0 ~]# lsblk----------list block

 

1-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]

 

1-3、格式化文件系統

 

• mkfs 工具集

  – mkfs.ext3 分區設備路徑

  – 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 :強制格式化

 

1-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 的記錄格式

設備路徑        掛載點            文件類型        參數類型           備份標記       檢測順序

 

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

 

 [root@server0 ~]# blkid  /dev/vdb1

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

 

 /dev/vdb1  /mypart1  ext4  defaults  0  0

 

 [root@server0 ~]# mount -a  ----------檢測/etc/fstab文件格式,並嘗試掛載設備

 [root@server0 ~]# df -h

 

################################################################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    #查看分區情況

 

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

2、LVM邏輯卷

 

    作用:    1. 可以整合分散的空間

        2. 邏輯卷可以容量擴大

 

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

 

2-1、製作邏輯卷

 

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

 

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

 2-2、邏輯卷的擴大,支持線上操作

 

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

 

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

 

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

2-3、邏輯卷的縮小,有風險

 

    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文件系統不支持縮減

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

  2-4、PE:卷組劃分空間的單位

 

• 創建卷組的時候設置PE大小

– vgcreate -s PE大小 卷組名 空閒分區...

 

– vgchange -s PE大小 卷組名

 

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

– lvcreate -l PE個數 -n 邏輯卷名 卷組名-----------注意此處爲小 L

 

 ---[root@server0 ~]# vgdisplay myvg

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

 

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

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

 

 [root@server0 ~]# lvs

 

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

2-5、邏輯卷的刪除

 

[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

 

3、parted 分區模式

[root@localhost ~]# lsblk-------查看一下有哪些硬盤
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

vda           252:0    0   50G  0 disk

vdb           252:16   0   20G  0 disk

[root@localhost ~]# parted /dev/vdb---------parted 分區
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p -------輸出分區信息                                            
錯誤: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)                                      
Disk /dev/vdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown-------默認分區標記未定義
Disk Flags:

(parted) mktable GPT-----指定分區模式爲GPT
(parted) p------輸出分區信息
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt-----------------分區標記已經定義爲了GPT
Disk Flags:

(parted) mkpart ----------開始分區                                         
分區名稱?  []?                                                           
文件系統類型?  [ext2]?                                                   
起始點? 1M                                                               
結束點? 2G
(parted) p ------輸出分區信息                                                               
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  標誌
 1      1049kB  2000MB  1999MB

(parted) mkpart  ----------進行分區                                                         
分區名稱?  []?                                                           
文件系統類型?  [ext2]?                                                   
起始點? 2G                                                               
結束點? 5G
(parted) P------輸出分區信息                                                                
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  標誌
 1      1049kB  2000MB  1999MB
 2      2000MB  5000MB  3000MB

(parted) rm 2-------------------刪除分區(跟Number號)
(parted) p-----輸出分區信息                                                                 
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  標誌
 1      1049kB  2000MB  1999MB

(parted) quit -------保存並退出                                                           
信息: You may need to update /etc/fstab.

[root@localhost ~]#

總結

  • parted
  1. lsblk-------查看一下有哪些硬盤
  2. parted /dev/vdb---------parted 分區
  3. mktable GPT-----指定分區模式爲GPT
  4.  mkpart ----------進行分區
  5. ------輸出分區信息   
  6. rm 2-------------------刪除分區(跟Number號)
  7. quit -------保存並退出   
  •  fdisk
  1.   fidsk /dev/vdb
  2.  p 查看分區表
  3.    n 創建新的分區----->回車----->回車---->回車----->在last結束時 +10G  #第一個主分區
  4.    d 刪除分區
  5.    w 保存並退出

1 案例1:硬盤分區及格式化

1.1 問題

本例要求熟悉硬盤分區結構,使用fdisk分區工具在磁盤 /dev/vdb 上按以下要求建立分區:

1. 採用默認的 msdos 分區模式

2. 第1個分區 /dev/vdb1 的大小爲 200MiB

3. 第2個分區 /dev/vdb2 的大小爲 2000MiB

4. 第3個分區 /dev/vdb3 的大小爲 1000MiB

完成分區後,能夠配置開機自動掛載 /dev/vdb2 分區:

1. 文件系統類型爲 EXT4

2. 將其掛載到 /mnt/part2 目錄

1.2 方案

fdisk分區工具用來建立msdos分區方案,其交互模式中的主要指令如下:

· m:列出指令幫助

· p:查看當前的分區表信息

· n:新建分區

· d:刪除分區

· t:更改分區標識

· q:放棄分區更改並退出

· w:保存對分區表所做的更改

1.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:新建分區表

1)打開fdisk工具,操作磁盤/dev/vdb

1. [root@server0 ~]# fdisk  /dev/vdb

2. Welcome to fdisk (util-linux 2.23.2).

3.

4. Changes will remain in memory only, until you decide to write them.

5. Be careful before using the write command.

6.

7. Device does not contain a recognized partition table

8. Building a new DOS disklabel with disk identifier 0x9ac1bc10.

9.

10. Command (m for help):                         //交互操作提示信息

2)新建第1個分區/dev/vdb1

1. Command (m for help): n                                  //新建分區

2. Partition type:

3.    p   primary (0 primary, 0 extended, 4 free)

4.    e   extended

5. Select (default p): p                                 //類型爲p(主分區)

6. Partition number (1-4, default 1): 1                     //分區編號1

7. First sector (2048-20971519, default 2048):              //起始位置默認

8. Using default value 2048

9. Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M  

10. Partition 1 of type Linux and of size 200 MiB is set      //結束位置+200MiB大小

11.

12. Command (m for help): p                                  //確認當前分區表

13. .. ..

14.    Device Boot      Start         End      Blocks   Id  System

15. /dev/vdb1            2048      411647      204800   83  Linux

3)新建第2個分區/dev/vdb2

1. Command (m for help): n

2. Partition type:

3.    p   primary (1 primary, 0 extended, 3 free)

4.    e   extended

5. Select (default p): p                                 //類型爲p(主分區)

6. Partition number (2-4, default 2): 2                    //分區編號2

7. First sector (411648-20971519, default 411648):         //起始位置默認

8. Using default value 411648

9. Last sector, +sectors or +size{K,M,G} (411648-20971519, default 20971519): +2000M

10. Partition 2 of type Linux and of size 2 GiB is set       //結束位置+2000MiB大小

11.

12. Command (m for help): p                                  //確認當前分區表

13. .. ..

14.    Device Boot      Start         End      Blocks   Id  System

15. /dev/vdb1            2048      411647      204800   83  Linux

16. /dev/vdb2          411648     4507647     2048000   83  Linux

4)新建第3個分區/dev/vdb3

1. Command (m for help): n    

2. Partition type:

3.    p   primary (2 primary, 0 extended, 2 free)

4.    e   extended

5. Select (default p): p

6. Partition number (3,4, default 3): 3

7. First sector (4507648-20971519, default 4507648): 

8. Using default value 4507648

9. Last sector, +sectors or +size{K,M,G} (4507648-20971519, default 20971519): +1000M

10. Partition 3 of type Linux and of size 1000 MiB is set

11.

12. Command (m for help): p                                  //確認當前分區表

13. .. ..

14.    Device Boot      Start         End      Blocks   Id  System

15. /dev/vdb1            2048      411647      204800   83  Linux

16. /dev/vdb2          411648     4507647     2048000   83  Linux

17. /dev/vdb3         4507648     6555647     1024000   83  Linux

5)調整分區類型標識(可選)

將/dev/vdb1的類型(默認爲83,表示EXT2/3/4分區)修改爲8e(LVM設備):

1. Command (m for help): t                                  //修改分區類型標識

2. Partition number (1-3, default 3): 1                     //指定第1個分區

3. Hex code (type L to list all codes): 8e                 //類型改爲8e

4. Changed type of partition 'Linux' to 'Linux LVM'

5.

6. Command (m for help): p                                  //確認當前分區表

7. .. ..

8.    Device Boot      Start         End      Blocks   Id  System

9. /dev/vdb1            2048      411647      204800   8e  Linux LVM

10. /dev/vdb2          411648     4507647     2048000   83  Linux

11. /dev/vdb3         4507648     6555647     1024000   83  Linux

6)保存分區更改,退出fdisk分區工具

1. Command (m for help): w                                  //保存並退出

2. The partition table has been altered!

3.

4. Calling ioctl() to re-read partition table.

5. Syncing disks.

6)刷新分區表

1. [root@server0 ~]# partprobe  /dev/vdb         //重新檢測磁盤分區

2. //或者

3. [root@server0 ~]# reboot                     //對已使用中磁盤的分區調整,應該重啓一次

4. .. ..

步驟二:格式化及掛載分區

1)將分區/dev/vdb2格式化爲EXT4文件系統

1. [root@server0 ~]# mkfs.ext4  /dev/vdb2

2. .. .. 

3. Allocating group tables: done  

4. Writing inode tables: done

5. Creating journal (8192 blocks): done

6. Writing superblocks and filesystem accounting information: done

2)配置開機自動掛載

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

2. .. ..

3. /dev/vdb2       /mnt/part2      ext4    defaults        0 0

3)創建掛載點,並驗證掛載配置

1. [root@server0 ~]# mkdir  /mnt/part2                 //創建掛載點

2. [root@server0 ~]# mount  -a                         //掛載fstab中的可用設備

3. [root@server0 ~]# df  -hT  /mnt/part2/                 //檢查文檔所在的文件系統及設備

4. Filesystem     Type  Size  Used Avail Use% Mounted on

5. /dev/vdb2      ext4  1.9G  5.9M  1.8G   1% /mnt/part2

2 案例2:新建一個邏輯卷

2.1 問題

本例要求沿用前一天案例,使用分區 /dev/vdb1 構建 LVM 存儲,相關要求如下:

1. 新建一個名爲 systemvg 的卷組

2. 在此卷組中創建一個名爲 vo 的邏輯卷,大小爲180MiB

3. 將邏輯卷 vo 格式化爲 EXT4 文件系統

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

2.2 方案

LVM創建工具的基本用法:

1. vgcreate  卷組名  物理設備.. ..

2. lvcreate  -L  大小  -n  邏輯卷名  卷組名

2.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:創建卷組

1)新建名爲systemvg的卷組

1. [root@server0 ~]# vgcreate  systemvg  /dev/vdb1

2.   Physical volume "/dev/vdb1" successfully created

3.   Volume group "systemvg" successfully created

2)確認結果

1. [root@server0 ~]# vgscan

2.   Reading all physical volumes.  This may take a while...

3.   Found volume group "systemvg" using metadata type lvm2

步驟二:創建邏輯卷

1)新建名爲vo的邏輯卷

1. [root@server0 ~]# lvcreate  -L  180MiB  -n  vo  systemvg

2.   Logical volume "vo" created

2)確認結果

1. [root@server0 ~]# lvscan

2.   ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit

步驟三:格式化及掛載使用

1)格式化邏輯卷/dev/systemvg/vo

1. [root@server0 ~]# mkfs.ext4  /dev/systemvg/vo

2. .. ..

3. Allocating group tables: done

4. Writing inode tables: done

5. Creating journal (4096 blocks): done

6. Writing superblocks and filesystem accounting information: done

2)掛載邏輯卷/dev/systemvg/vo

1. [root@server0 ~]# mkdir  /vo                              //創建掛載點

2. [root@server0 ~]# mount  /dev/systemvg/vo  /vo             //掛載

3. [root@server0 ~]# df  -hT  /vo/                         //檢查結果

4. Filesystem              Type  Size  Used Avail Use% Mounted on

5. /dev/mapper/systemvg-vo ext4  171M  1.6M  157M   1% /vo

3)訪問邏輯卷/dev/systemvg/vo

1. [root@server0 ~]# cat  /vo/votest.txt

2. I AM KING.

3 案例3:調整現有磁盤的分區

3.1 問題

本例要求沿用前一天案例,對磁盤/dev/vdb的分區表進行調整,要求如下:不更改原有分區,利用剩餘空間新增三個分區,大小依次爲:500MiB、2000MiB、512MiB

然後再基於剛建立的 2000MiB 分區構建新的 LVM 存儲:

1. 新的邏輯卷命名爲 database,大小爲50個物理擴展單元(Physical Extent),屬於 datastore 卷組

2. 在 datastore 卷組中的所有邏輯卷,其物理擴展單元(Physical Extent)的大小爲16MiB

3. 使用 EXT3 文件系統對邏輯卷 database 格式化,此邏輯卷應該在開機時自動掛載到 /mnt/database 目錄

3.2 方案

創建卷組時,可以通過-s選項指定PE的大小。

在給新建的邏輯卷分配空間時,空間大小隻能是PE大小的倍數。

3.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:調整現有磁盤分區

1)新建擴展分區(使用剩餘可用空間)

1. [root@server0 ~]# fdisk  /dev/vdb

2.

3. Command (m for help): p                                  //確認原有分區表

4. .. ..

5.    Device Boot      Start         End      Blocks   Id  System

6. /dev/vdb1            2048      411647      204800   8e  Linux LVM

7. /dev/vdb2          411648     4507647     2048000   83  Linux

8. /dev/vdb3         4507648     6555647     1024000   83  Linux

9.

10. Command (m for help): n                                 //新建分區

11. Partition type:

12.    p   primary (3 primary, 0 extended, 1 free)

13.    e   extended

14. Select (default e): e                                 //類型指定爲e(擴展分區)

15. Selected partition 4                                     //只一個可用編號,自動選取

16. First sector (6555648-20971519, default 6555648):          //起始位置默認

17. Using default value 6555648

18. Last sector, +sectors or +size{K,M,G} (6555648-20971519, default 20971519): 

19. Using default value 20971519                             //結束位置默認

20. Partition 4 of type Extended and of size 6.9 GiB is set

21.

22. Command (m for help): p    

23. .. ..

24.    Device Boot      Start         End      Blocks   Id  System

25. /dev/vdb1            2048      411647      204800   8e  Linux LVM

26. /dev/vdb2          411648     4507647     2048000   83  Linux

27. /dev/vdb3         4507648     6555647     1024000   83  Linux

28. /dev/vdb4         6555648    20971519     7207936    5  Extended

2)在擴展分區中新建3個邏輯分區

創建第1個邏輯卷(由於主分區編號已用完,分區類型自動選l邏輯分區):

1. Command (m for help): n

2. All primary partitions are in use

3. Adding logical partition 5                              //分區編號5

4. First sector (6557696-20971519, default 6557696):          //起始位置默認

5. Using default value 6557696

6. Last sector, +sectors or +size{K,M,G} (6557696-20971519, default 20971519): +500M

7.                                                       //結束位置默認

8. Partition 5 of type Linux and of size 500 MiB is set

創建第2個邏輯卷:

1. Command (m for help): n

2. All primary partitions are in use

3. Adding logical partition 6                              //分區編號6

4. First sector (7583744-20971519, default 7583744):          //起始位置默認

5. Using default value 7583744

6. Last sector, +sectors or +size{K,M,G} (7583744-20971519, default 20971519): +2000M

7.                                                       //結束位置默認

8. Partition 6 of type Linux and of size 2 GiB is set

創建第3個邏輯卷:

1. Command (m for help): n

2. All primary partitions are in use

3. Adding logical partition 7                              //分區編號7

4. First sector (11681792-20971519, default 11681792):      //起始位置默認

5. Using default value 11681792

6. Last sector, +sectors or +size{K,M,G} (11681792-20971519, default 20971519): +512M

7.                                                       //結束位置默認

8. Partition 7 of type Linux and of size 512 MiB is set

根據預計的用途調整分區類型(可選):

1. Command (m for help): t                                 //修改

2. Partition number (1-7, default 7): 5                     //第5個分區

3. Hex code (type L to list all codes): 8e                 //類型爲8e(LVM)

4. Changed type of partition 'Linux' to 'Linux LVM'

5.

6. Command (m for help): t                                 //修改

7. Partition number (1-7, default 7): 6                     //第6個分區

8. Hex code (type L to list all codes): 8e                 //類型爲8e(LVM)

9. Changed type of partition 'Linux' to 'Linux LVM'

10.

11. Command (m for help): t                                 //修改

12. Partition number (1-7, default 7): 7                     //第7個分區

13. Hex code (type L to list all codes): 82                 //類型爲82(交換分區)

14. Changed type of partition 'Linux' to 'Linux swap / Solaris'

確認分區結果並保存:

1. Command (m for help): p

2. .. ..

3.    Device Boot      Start         End      Blocks   Id  System

4. /dev/vdb1            2048      411647      204800   8e  Linux LVM

5. /dev/vdb2          411648     4507647     2048000   83  Linux

6. /dev/vdb3         4507648     6555647     1024000   83  Linux

7. /dev/vdb4         6555648    20971519     7207936    5  Extended

8. /dev/vdb5         6557696     7581695      512000   8e  Linux LVM

9. /dev/vdb6         7583744    11679743     2048000   8e  Linux LVM

10. /dev/vdb7        11681792    12730367      524288   82  Linux swap / Solaris

11.

12. Command (m for help): w                                 //保存退出

13. The partition table has been altered!

14.

15. Calling ioctl() to re-read partition table.

16.

17. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

18. The kernel still uses the old table. The new table will be used at

19. the next reboot or after you run partprobe(8) or kpartx(8)

20. Syncing disks.                                         //提示重啓

3)刷新分區表

1. [root@server0 ~]# partprobe  /dev/vdb

2. [root@server0 ~]# reboot

步驟二:新建卷組、邏輯卷

1)新建卷組datastore,指定PE大小爲16MiB

1. [root@server0 ~]# vgcreate  -s 16MiB  datastore  /dev/vdb6

2.   Volume group "datastore" successfully created

3. [root@server0 ~]# vgscan                                  //確認新建的卷組

4.   Reading all physical volumes.  This may take a while...

5.   Found volume group "systemvg" using metadata type lvm2

6.   Found volume group "datastore" using metadata type lvm2

2)新建邏輯卷database,大小設置爲50個PE

1. [root@server0 ~]# lvcreate  -l 50  -n  database  datastore

2.   Logical volume "database" created

3. [root@server0 ~]# lvscan                                  //確認新建的邏輯卷

4.   ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit

5.   ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit

步驟三:格式化及使用邏輯卷

1)格式化邏輯卷/dev/datastore/database

1. [root@server0 ~]# mkfs.ext3  /dev/datastore/database

2. .. ..

3. Allocating group tables: done

4. Writing inode tables: done

5. Creating journal (4096 blocks): done

6. Writing superblocks and filesystem accounting information: done

2)配置開機掛載

1. [root@server0 ~]# mkdir  /mnt/database                     //創建掛載點

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

3. .. ..

4. /dev/datastore/database         /mnt/database   ext3    defaults    0 0

3)驗證掛載配置

1. [root@server0 ~]# mount  -a

2. [root@server0 ~]# df  -hT  /mnt/database/                 //確認掛載點設備

3. Filesystem                     Type  Size  Used Avail Use% Mounted on

4. /dev/mapper/datastore-database ext3  772M  828K  715M   1% /mnt/database

4 案例4:擴展邏輯卷的大小

4.1 問題

本例要求沿用練習一,將邏輯卷 vo 的大小調整爲 300MiB,要求如下:

1. 原文件系統中的內容必須保持完整

2. 必要時可使用之前準備的分區 /dev/vdb5 來補充空間

3. 注意:分區大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之間都是可以接受的

4.2 方案

對於已經格式化好的邏輯卷,在擴展大小以後,必須通知內核新大小。

如果此邏輯捲上的文件系統是EXT3/EXT4類型,需要使用resize2fs工具;

如果此邏輯捲上的文件系統是XFS類型,需要使用xfs_growfs。

4.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:確認邏輯卷vo的信息

1)找出邏輯卷所在卷組

1. [root@server0 ~]# lvscan

2.   ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit

3.   ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit

2)查看該卷組的剩餘空間是否可滿足擴展需要

1. [root@server0 ~]# vgdisplay  systemvg

2.   --- Volume group ---

3.   VG Name               systemvg

4.   System ID            

5.   Format                lvm2

6.   Metadata Areas        1

7.   Metadata Sequence No  2

8.   VG Access             read/write

9.   VG Status             resizable

10.   MAX LV                0

11.   Cur LV                1

12.   Open LV               0

13.   Max PV                0

14.   Cur PV                1

15.   Act PV                1

16.   VG Size               196.00 MiB                          //卷組總大小

17.   PE Size               4.00 MiB

18.   Total PE              49

19.   Alloc PE / Size       45 / 180.00 MiB

20.   Free  PE / Size       4 / 16.00 MiB                      //剩餘空間大小

21.   VG UUID               czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN

此例中卷組systemvg的總大小都不夠300MiB、剩餘空間才16MiB,因此必須先擴展卷組。只有剩餘空間足夠,纔可以直接擴展邏輯卷大小。

步驟二:擴展卷組

1)將提前準備的分區/dev/vdb5添加到卷組systemvg

1. [root@server0 ~]# vgextend  systemvg  /dev/vdb5

2.   Physical volume "/dev/vdb5" successfully created

3.   Volume group "systemvg" successfully extended

2)確認卷組新的大小

1. [root@server0 ~]# vgdisplay  systemvg

2.   --- Volume group ---

3.   VG Name               systemvg

4.   .. ..

5.   VG Size               692.00 MiB                          //總大小已變大

6.   PE Size               4.00 MiB

7.   Total PE              173

8.   Alloc PE / Size       45 / 180.00 MiB

9.   Free  PE / Size       128 / 512.00 MiB                  //剩餘空間已達512MiB

10.   VG UUID               czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN

步驟三:擴展邏輯卷大小

1)將邏輯卷/dev/systemvg/vo的大小調整爲300MiB

1. [root@server0 ~]# lvextend  -L 300MiB  /dev/systemvg/vo

2.   Extending logical volume vo to 300.00 MiB

3.   Logical volume vo successfully resized

2)確認調整結果

1. [root@server0 ~]# lvscan

2.   ACTIVE            '/dev/systemvg/vo' [300.00 MiB] inherit

3.   ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit

3)刷新文件系統大小

確認邏輯卷vo上的文件系統類型:

1. [root@server0 ~]# blkid  /dev/systemvg/vo

2. /dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"

選擇合適的工具刷新大小:

1. [root@server0 ~]# resize2fs  /dev/systemvg/vo

2. resize2fs 1.42.9 (28-Dec-2013)

3. Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.

4. The filesystem on /dev/systemvg/vo is now 307200 blocks long.

確認新大小(約等於300MiB):

1. [root@server0 ~]# mount  /dev/systemvg/vo  /vo/

2. [root@server0 ~]# df  -hT  /vo

3. Filesystem              Type  Size  Used Avail Use% Mounted on

4. /dev/mapper/systemvg-vo ext4  287M  2.1M  266M   1% /vo

 

 

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