管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区...
一、硬盤分區及格式化
問題:
本例要求熟悉硬盤分區結構,使用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 目錄
方案:
fdisk分區工具用來建立msdos分區方案,其交互模式中的主要指令如下:
??? m:列出指令幫助
??? p:查看當前的分區表信息
??? n:新建分區
??? d:刪除分區
??? t:更改分區標識
??? q:放棄分區更改并退出
??? w:保存對分區表所做的更改
步驟:
步驟一:新建分區表
1)打開fdisk工具,操作磁盤/dev/vdb
??? [root@server0 ~]# fdisk? /dev/vdb
??? Welcome to fdisk (util-linux 2.23.2).
??? Changes will remain in memory only, until you decide to write them.
??? Be careful before using the write command.
??? Device does not contain a recognized partition table
??? Building a new DOS disklabel with disk identifier 0x9ac1bc10.
??? Command (m for help):???????????????????????? //交互操作提示信息
2)新建第1個分區/dev/vdb1
??? Command (m for help): n????????????????????????????????? //新建分區
??? Partition type:
?????? p?? primary (0 primary, 0 extended, 4 free)
?????? e?? extended
??? Select (default p): p???????????????????????????????? //類型為p(主分區)
??? Partition number (1-4, default 1): 1???????????????????? //分區編號1
??? First sector (2048-20971519, default 2048):????????????? //起始位置默認
??? Using default value 2048
??? Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M ?
??? Partition 1 of type Linux and of size 200 MiB is set????? //結束位置+200MiB大小
??? Command (m for help): p????????????????????????????????? //確認當前分區表
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 83? Linux
3)新建第2個分區/dev/vdb2
??? Command (m for help): n
??? Partition type:
?????? p?? primary (1 primary, 0 extended, 3 free)
?????? e?? extended
??? Select (default p): p???????????????????????????????? //類型為p(主分區)
??? Partition number (2-4, default 2): 2??????????????????? //分區編號2
??? First sector (411648-20971519, default 411648):???????? //起始位置默認
??? Using default value 411648
??? Last sector, +sectors or +size{K,M,G} (411648-20971519, default 20971519): +2000M
??? Partition 2 of type Linux and of size 2 GiB is set?????? //結束位置+2000MiB大小
??? Command (m for help): p????????????????????????????????? //確認當前分區表
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 83? Linux
??? /dev/vdb2????????? 411648???? 4507647???? 2048000?? 83? Linux
4)新建第3個分區/dev/vdb3
??? Command (m for help): n??? ?
??? Partition type:
?????? p?? primary (2 primary, 0 extended, 2 free)
?????? e?? extended
??? Select (default p): p
??? Partition number (3,4, default 3): 3
??? First sector (4507648-20971519, default 4507648):
??? Using default value 4507648
??? Last sector, +sectors or +size{K,M,G} (4507648-20971519, default 20971519): +1000M
??? Partition 3 of type Linux and of size 1000 MiB is set
??? Command (m for help): p????????????????????????????????? //確認當前分區表
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 83? Linux
??? /dev/vdb2????????? 411648???? 4507647???? 2048000?? 83? Linux
??? /dev/vdb3???????? 4507648???? 6555647???? 1024000?? 83? Linux
5)調整分區類型標識(可選)
將/dev/vdb1的類型(默認為83,表示EXT2/3/4分區)修改為8e(LVM設備):
??? Command (m for help): t????????????????????????????????? //修改分區類型標識
??? Partition number (1-3, default 3): 1???????????????????? //指定第1個分區
??? Hex code (type L to list all codes): 8e???????????????? //類型改為8e
??? Changed type of partition 'Linux' to 'Linux LVM'
??? Command (m for help): p????????????????????????????????? //確認當前分區表
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 8e? Linux LVM
??? /dev/vdb2????????? 411648???? 4507647???? 2048000?? 83? Linux
??? /dev/vdb3???????? 4507648???? 6555647???? 1024000?? 83? Linux
6)保存分區更改,退出fdisk分區工具
??? Command (m for help): w????????????????????????????????? //保存并退出
??? The partition table has been altered!
??? Calling ioctl() to re-read partition table.
??? Syncing disks.
7)刷新分區表
??? [root@server0 ~]# partprobe? /dev/vdb???????? //重新檢測磁盤分區
??? //或者
??? [root@server0 ~]# reboot???????????????????? //對已使用中磁盤的分區調整,應該重啟一次
??? .. ..
步驟二:格式化及掛載分區
1)將分區/dev/vdb2格式化為EXT4文件系統
??? [root@server0 ~]# mkfs.ext4? /dev/vdb2
??? .. ..
??? Allocating group tables: done ?
??? Writing inode tables: done
??? Creating journal (8192 blocks): done
??? Writing superblocks and filesystem accounting information: done
2)配置開機自動掛載
??? [root@server0 ~]# vim? /etc/fstab
??? .. ..
??? /dev/vdb2?????? /mnt/part2????? ext4??? defaults??????? 0 0
3)創建掛載點,并驗證掛載配置
??? [root@server0 ~]# mkdir? /mnt/part2???????????????? //創建掛載點
??? [root@server0 ~]# mount? -a???????????????????????? //掛載fstab中的可用設備
??? [root@server0 ~]# df? -hT? /mnt/part2/???????????????? //檢查文檔所在的文件系統及設備
??? Filesystem???? Type? Size? Used Avail Use% Mounted on
??? /dev/vdb2????? ext4? 1.9G? 5.9M? 1.8G?? 1% /mnt/part2
二、新建一個邏輯卷
問題:
?
本例要求沿用前一天案例,使用分區 /dev/vdb1 構建 LVM 存儲,相關要求如下:
?????? 1> 新建一個名為 systemvg 的卷組
?????? 2> 在此卷組中創建一個名為 vo 的邏輯卷,大小為180MiB
?? ? ? 3> 將邏輯卷 vo 格式化為 EXT4 文件系統
?? ? ? 4> 將邏輯卷 vo 掛載到 /vo 目錄,并在此目錄下建立一個測試文件 votest.txt,內容為“I AM KING.”
?
方案:
LVM創建工具的基本用法:
??? vgcreate? 卷組名? 物理設備.. ..
??? lvcreate? -L? 大小? -n? 邏輯卷名? 卷組名
?
步驟:
?
?
步驟一:創建卷組
?
1)新建名為systemvg的卷組
?
? ? ? [root@server0 ~]# vgcreate? systemvg? /dev/vdb1
????? Physical volume "/dev/vdb1" successfully created
????? Volume group "systemvg" successfully created
2)確認結果
? ? ? [root@server0 ~]# vgscan
????? Reading all physical volumes.? This may take a while...
????? Found volume group "systemvg" using metadata type lvm2
步驟二:創建邏輯卷
1)新建名為vo的邏輯卷
?? ?? [root@server0 ~]# lvcreate? -L? 180MiB? -n? vo? systemvg
??? ? Logical volume "vo" created
2)確認結果
?? ?? [root@server0 ~]# lvscan
????? ACTIVE??????????? '/dev/systemvg/vo' [180.00 MiB] inherit
步驟三:格式化及掛載使用
1)格式化邏輯卷/dev/systemvg/vo
??? [root@server0 ~]# mkfs.ext4? /dev/systemvg/vo
??? .. ..
??? Allocating group tables: done
??? Writing inode tables: done
??? Creating journal (4096 blocks): done
??? Writing superblocks and filesystem accounting information: done
2)掛載邏輯卷/dev/systemvg/vo
??? [root@server0 ~]# mkdir? /vo????????????????????????????? //創建掛載點
??? [root@server0 ~]# mount? /dev/systemvg/vo? /vo???????????? //掛載
??? [root@server0 ~]# df? -hT? /vo/???????????????????????? //檢查結果
??? Filesystem????????????? Type? Size? Used Avail Use% Mounted on
??? /dev/mapper/systemvg-vo ext4? 171M? 1.6M? 157M?? 1% /vo
3)訪問邏輯卷/dev/systemvg/vo
??? [root@server0 ~]# cat? /vo/votest.txt
??? I AM KING.
三、調整現有磁盤的分區
問題:
本例要求沿用前一天案例,對磁盤/dev/vdb的分區表進行調整,要求如下:不更改原有分區,利用剩余空間新增三個分區,大小依次為:500MiB、2000MiB、512MiB
然后再基于剛建立的 2000MiB 分區構建新的 LVM 存儲:
?? ?? 1> 新的邏輯卷命名為 database,大小為50個物理擴展單元(Physical Extent),屬于 datastore 卷組
????? 2> 在 datastore 卷組中的所有邏輯卷,其物理擴展單元(Physical Extent)的大小為16MiB
????? 3> 使用 EXT3 文件系統對邏輯卷 database 格式化,此邏輯卷應該在開機時自動掛載到 /mnt/database 目錄
方案:
創建卷組時,可以通過-s選項指定PE的大小。
在給新建的邏輯卷分配空間時,空間大小只能是PE大小的倍數。
步驟:
步驟一:調整現有磁盤分區
1)新建擴展分區(使用剩余可用空間)
??? [root@server0 ~]# fdisk? /dev/vdb
??? Command (m for help): p????????????????????????????????? //確認原有分區表
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 8e? Linux LVM
??? /dev/vdb2????????? 411648???? 4507647???? 2048000?? 83? Linux
??? /dev/vdb3???????? 4507648???? 6555647???? 1024000?? 83? Linux
??? Command (m for help): n???????????????????????????????? //新建分區
??? Partition type:
?????? p?? primary (3 primary, 0 extended, 1 free)
?????? e?? extended
??? Select (default e): e???????????????????????????????? //類型指定為e(擴展分區)
??? Selected partition 4???????????????????????????????????? //只一個可用編號,自動選取
??? First sector (6555648-20971519, default 6555648):????????? //起始位置默認
??? Using default value 6555648
??? Last sector, +sectors or +size{K,M,G} (6555648-20971519, default 20971519):
??? Using default value 20971519???????????????????????????? //結束位置默認
??? Partition 4 of type Extended and of size 6.9 GiB is set
??? Command (m for help): p??? ?
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 8e? Linux LVM
??? /dev/vdb2????????? 411648???? 4507647???? 2048000?? 83? Linux
??? /dev/vdb3???????? 4507648???? 6555647???? 1024000?? 83? Linux
??? /dev/vdb4???????? 6555648??? 20971519???? 7207936??? 5? Extended
2)在擴展分區中新建3個邏輯分區
創建第1個邏輯卷(由于主分區編號已用完,分區類型自動選l邏輯分區):
??? Command (m for help): n
??? All primary partitions are in use
??? Adding logical partition 5????????????????????????????? //分區編號5
??? First sector (6557696-20971519, default 6557696):????????? //起始位置默認
??? Using default value 6557696
??? Last sector, +sectors or +size{K,M,G} (6557696-20971519, default 20971519): +500M
????????????????????????????????????????????????????????? //結束位置默認
??? Partition 5 of type Linux and of size 500 MiB is set
創建第2個邏輯卷:
??? Command (m for help): n
??? All primary partitions are in use
??? Adding logical partition 6????????????????????????????? //分區編號6
??? First sector (7583744-20971519, default 7583744):????????? //起始位置默認
??? Using default value 7583744
??? Last sector, +sectors or +size{K,M,G} (7583744-20971519, default 20971519): +2000M
????????????????????????????????????????????????????????? //結束位置默認
??? Partition 6 of type Linux and of size 2 GiB is set
創建第3個邏輯卷:
??? Command (m for help): n
??? All primary partitions are in use
??? Adding logical partition 7????????????????????????????? //分區編號7
??? First sector (11681792-20971519, default 11681792):????? //起始位置默認
??? Using default value 11681792
??? Last sector, +sectors or +size{K,M,G} (11681792-20971519, default 20971519): +512M
????????????????????????????????????????????????????????? //結束位置默認
??? Partition 7 of type Linux and of size 512 MiB is set
根據預計的用途調整分區類型(可選):
??? Command (m for help): t???????????????????????????????? //修改
??? Partition number (1-7, default 7): 5???????????????????? //第5個分區
??? Hex code (type L to list all codes): 8e???????????????? //類型為8e(LVM)
??? Changed type of partition 'Linux' to 'Linux LVM'
??? Command (m for help): t???????????????????????????????? //修改
??? Partition number (1-7, default 7): 6???????????????????? //第6個分區
??? Hex code (type L to list all codes): 8e???????????????? //類型為8e(LVM)
??? Changed type of partition 'Linux' to 'Linux LVM'
??? Command (m for help): t???????????????????????????????? //修改
??? Partition number (1-7, default 7): 7???????????????????? //第7個分區
??? Hex code (type L to list all codes): 82???????????????? //類型為82(交換分區)
??? Changed type of partition 'Linux' to 'Linux swap / Solaris'
確認分區結果并保存:
??? Command (m for help): p
??? .. ..
?????? Device Boot????? Start???????? End????? Blocks?? Id? System
??? /dev/vdb1??????????? 2048????? 411647????? 204800?? 8e? Linux LVM
??? /dev/vdb2????????? 411648???? 4507647???? 2048000?? 83? Linux
??? /dev/vdb3???????? 4507648???? 6555647???? 1024000?? 83? Linux
??? /dev/vdb4???????? 6555648??? 20971519???? 7207936??? 5? Extended
??? /dev/vdb5???????? 6557696???? 7581695????? 512000?? 8e? Linux LVM
??? /dev/vdb6???????? 7583744??? 11679743???? 2048000?? 8e? Linux LVM
??? /dev/vdb7??????? 11681792??? 12730367????? 524288?? 82? Linux swap / Solaris
??? Command (m for help): w???????????????????????????????? //保存退出
??? The partition table has been altered!
??? Calling ioctl() to re-read partition table.
??? WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
??? The kernel still uses the old table. The new table will be used at
??? the next reboot or after you run partprobe(8) or kpartx(8)
??? Syncing disks.???????????????????????????????????????? //提示重啟
3)刷新分區表
??? [root@server0 ~]# partprobe? /dev/vdb
??? [root@server0 ~]# reboot
步驟二:新建卷組、邏輯卷
1)新建卷組datastore,指定PE大小為16MiB
??? [root@server0 ~]# vgcreate? -s 16MiB? datastore? /dev/vdb6
????? Volume group "datastore" successfully created
??? [root@server0 ~]# vgscan????????????????????????????????? //確認新建的卷組
????? Reading all physical volumes.? This may take a while...
????? Found volume group "systemvg" using metadata type lvm2
????? Found volume group "datastore" using metadata type lvm2
2)新建邏輯卷database,大小設置為50個PE
??? [root@server0 ~]# lvcreate? -l 50? -n? database? datastore
????? Logical volume "database" created
??? [root@server0 ~]# lvscan????????????????????????????????? //確認新建的邏輯卷
????? ACTIVE??????????? '/dev/systemvg/vo' [180.00 MiB] inherit
????? ACTIVE??????????? '/dev/datastore/database' [800.00 MiB] inherit
步驟三:格式化及使用邏輯卷
1)格式化邏輯卷/dev/datastore/database
??? [root@server0 ~]# mkfs.ext3? /dev/datastore/database
??? .. ..
??? Allocating group tables: done
??? Writing inode tables: done
??? Creating journal (4096 blocks): done
??? Writing superblocks and filesystem accounting information: done
2)配置開機掛載
??? [root@server0 ~]# mkdir? /mnt/database???????????????????? //創建掛載點
??? [root@server0 ~]# vim? /etc/fstab
??? .. ..
??? /dev/datastore/database???????? /mnt/database?? ext3??? defaults??? 0 0
3)驗證掛載配置
??? [root@server0 ~]# mount? -a
??? [root@server0 ~]# df? -hT? /mnt/database/???????????????? //確認掛載點設備
??? Filesystem???????????????????? Type? Size? Used Avail Use% Mounted on
??? /dev/mapper/datastore-database ext3? 772M? 828K? 715M?? 1% /mnt/database
四、擴展邏輯卷的大小
問題:
本例要求沿用練習一,將邏輯卷 vo 的大小調整為 300MiB,要求如下:
?????? 1> 原文件系統中的內容必須保持完整
?????? 2> 必要時可使用之前準備的分區 /dev/vdb5 來補充空間
?????? 3> 注意:分區大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之間都是可以接受的
方案:
????? 對于已經格式化好的邏輯卷,在擴展大小以后,必須通知內核新大小。
????? 如果此邏輯卷上的文件系統是EXT3/EXT4類型,需要使用resize2fs工具;
????? 如果此邏輯卷上的文件系統是XFS類型,需要使用xfs_growfs。
步驟:
步驟一:確認邏輯卷vo的信息
1)找出邏輯卷所在卷組
????? [root@server0 ~]# lvscan
????? ACTIVE??????????? '/dev/systemvg/vo' [180.00 MiB] inherit
????? ACTIVE??????????? '/dev/datastore/database' [800.00 MiB] inherit
2)查看該卷組的剩余空間是否可滿足擴展需要
?? ?? [root@server0 ~]# vgdisplay? systemvg
????? --- Volume group ---
????? VG Name?????????????? systemvg
????? System ID??????????? ?
????? Format??????????????? lvm2
????? Metadata Areas??????? 1
????? Metadata Sequence No? 2
????? VG Access???????????? read/write
????? VG Status???????????? resizable
????? MAX LV??????????????? 0
????? Cur LV??????????????? 1
????? Open LV?????????????? 0
????? Max PV??????????????? 0
????? Cur PV??????????????? 1
????? Act PV??????????????? 1
????? VG Size?????????????? 196.00 MiB????????????????????????? //卷組總大小
????? PE Size?????????????? 4.00 MiB
????? Total PE????????????? 49
????? Alloc PE / Size?????? 45 / 180.00 MiB
????? Free? PE / Size?????? 4 / 16.00 MiB????????????????????? //剩余空間大小
????? VG UUID?????????????? czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
此例中卷組systemvg的總大小都不夠300MiB、剩余空間才16MiB,因此必須先擴展卷組。只有剩余空間足夠,才可以直接擴展邏輯卷大小。
步驟二:擴展卷組
1)將提前準備的分區/dev/vdb5添加到卷組systemvg
?? ?? [root@server0 ~]# vgextend? systemvg? /dev/vdb5
????? Physical volume "/dev/vdb5" successfully created
????? Volume group "systemvg" successfully extended
2)確認卷組新的大小
?? ? [root@server0 ~]# vgdisplay? systemvg
????? --- Volume group ---
????? VG Name?????????????? systemvg
????? .. ..
????? VG Size?????????????? 692.00 MiB????????????????????????? //總大小已變大
????? PE Size?????????????? 4.00 MiB
????? Total PE????????????? 173
????? Alloc PE / Size?????? 45 / 180.00 MiB
????? Free? PE / Size?????? 128 / 512.00 MiB????????????????? //剩余空間已達512MiB
????? VG UUID?????????????? czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
步驟三:擴展邏輯卷大小
1)將邏輯卷/dev/systemvg/vo的大小調整為300MiB
????? [root@server0 ~]# lvextend? -L 300MiB? /dev/systemvg/vo
????? Extending logical volume vo to 300.00 MiB
????? Logical volume vo successfully resized
2)確認調整結果
?? ?? [root@server0 ~]# lvscan
????? ACTIVE??????????? '/dev/systemvg/vo' [300.00 MiB] inherit
????? ACTIVE??????????? '/dev/datastore/database' [800.00 MiB] inherit
3)刷新文件系統大小
確認邏輯卷vo上的文件系統類型:
??? [root@server0 ~]# blkid? /dev/systemvg/vo
??? /dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"
選擇合適的工具刷新大小:
??? [root@server0 ~]# resize2fs? /dev/systemvg/vo
??? resize2fs 1.42.9 (28-Dec-2013)
??? Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
??? The filesystem on /dev/systemvg/vo is now 307200 blocks long.
確認新大小(約等于300MiB):
??? [root@server0 ~]# mount? /dev/systemvg/vo? /vo/
??? [root@server0 ~]# df? -hT? /vo
??? Filesystem????????????? Type? Size? Used Avail Use% Mounted on
??? /dev/mapper/systemvg-vo ext4? 287M? 2.1M? 266M?? 1% /vo
五、添加一個swap分區
問題:
本例要求為虛擬機 server0 添加一個交換分區,相關要求如下:
?? ? ? ? 1> 此交換分區的大小為 512MiB
?? ? ? ? 2> 當系統啟動時,swap分區應該可以自動掛載
???????? 3> 不要移除或更改其他已經存在于你系統中的交換分區
方案:
交換分區不需要掛載點,在配置開機掛載時,掛載點直接寫成swap即可。
步驟:
步驟一:格式化交換分區
1)將提前準備的分區/dev/vdb7格式化為swap文件系統
?? ? [root@server0 ~]# mkswap? /dev/vdb7
??? Setting up swapspace version 1, size = 524284 KiB
??? no label, UUID=80e358b9-b55d-4797-aaa4-41800aa00e3f
2)確認格式化結果
??? [root@server0 ~]# blkid? /dev/vdb7
??? /dev/vdb7: UUID="80e358b9-b55d-4797-aaa4-41800aa00e3f" TYPE="swap"
步驟二:配置交換分區的開機啟用
修改/etc/fstab文件,添加交換分區記錄:
??? [root@server0 ~]# vim? /etc/fstab
??? .. ..
??? /dev/vdb7??? swap??? swap??? defaults??? 0 0
步驟三:確認掛載配置可用
1)檢查啟用新交換分區之前
??? [root@server0 ~]# swapon? -s
??? [root@server0 ~]#
2)啟用新交換分區
??? [root@server0 ~]# swapon? -a
3)檢查啟用新交換分區之后
??? [root@server0 ~]# swapon? -s
??? Filename??????? Type??????????? Size????? Used??????? Priority
??? /dev/vdb7??????? partition??? 524284??????????? -1
轉載于:https://www.cnblogs.com/baichuanhuihai/p/8232830.html
總結
以上是生活随笔為你收集整理的管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python20-Day05
- 下一篇: 白萝卜炖排骨怎么做??