標籤:linux伺服器 硬碟擴容
作業環境:
[[email protected] ~]# uname -a
Linux linux 2.6.32-358.18.1.el6.x86_64#1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
現狀分析:
系統有兩個硬碟,第一個硬碟107G,“/”分區空間當時分區時只給了7.7G過小,空間馬上占完。現在系統有第二個硬碟sdb大小為16GB,希望把sdb的所有空間加入到“/”分區中,是其空間容量從7.7GB變成7.7GB+16GB(約2.4GB)。(當然如果這裡只有一個硬碟sda,有很多空間尚未使用可以進行同樣的操作)
操作步驟如下:
第一步、查看本機現有分區情況
[[email protected] ~]# df -h
檔案系統容量已用可用已用%% 掛載點
/dev/mapper/VolGroup-lv_root
7.7G 7.1G 155M 98% /
tmpfs 3.9G 296K 3.9G 1% /dev/shm
/dev/sda1 485M 64M 396M 14% /boot
/dev/sda3 83G 350M 79G 1% /media
第二步、查看原生磁碟情況
[[email protected] ~]# fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x000dc0ad
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2089 16264192 8e Linux LVM
/dev/sda3 2090 13054 88076362+ 83 Linux
Disk /dev/mapper/VolGroup-lv_root: 8325 MB,8325693440 bytes
255 heads, 63 sectors/track, 1012 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 8325 MB,8325693440 bytes
255 heads, 63 sectors/track, 1012 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000
注意:此時還沒有在EXSI5.0中添加第二塊硬碟
[[email protected] ~]#
第三步、添加第二塊硬碟
查看此時系統磁碟情況
[email protected] ~]# fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x000dc0ad
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinderboundary.
/dev/sda2 64 2089 16264192 8e Linux LVM
/dev/sda3 2090 13054 88076362+ 83 Linux
Disk /dev/sdb: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 8325 MB,8325693440 bytes
255 heads, 63 sectors/track, 1012 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 8325 MB,8325693440 bytes
255 heads, 63 sectors/track, 1012 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x00000000
可以看到我們新添加的硬碟sdb
[[email protected] ~]#
第四步、對第二塊硬碟sdb進行分區
[[email protected] ~]# fdisk /dev/sdb
Device contains neither a valid DOSpartition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with diskidentifier 0xfa4abbdc.
Changes will remain in memory only, untilyou decide to write them.
After that, of course, the previous contentwon‘t be recoverable.
Warning: invalid flag 0x0000 of partitiontable 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated.It‘s strongly recommended to
switch off the mode (command ‘c‘) and change display units to
sectors (command ‘u‘).
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibilityflag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOSpartition table
p print the partition table
q quit without saving changes
s create a new empty Sundisklabel
t change a partition‘s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (expertsonly)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 4
First cylinder (1-2088, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G}(1-2088, default 2088):
Using default value 2088
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
說明:上面操作對sdb硬碟進行了分區操作,設為sdb4分區了(當然上面建立的主要磁碟分割可以為1-4中的任意一個,我這裡選擇的4)。
第五步、對建立立的sdb4分區進行格式
[[email protected] ~]# mkfs.ext4 /dev/sdb4
mke2fs 1.41.12 (17-May-2010)
檔案系統標籤=
作業系統:Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1048576 inodes, 4192957 blocks
209647 blocks (5.00%) reserved for thesuper user
第一個資料區塊=0
Maximum filesystem blocks=4294967296
128 block groups
32768 blocks per group, 32768 fragments pergroup
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystemaccounting information: done完成
This filesystem will be automaticallychecked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
說明:將sdb4分區格式化為ext4格式,因為CentOS安裝是系統的格式ext4,所以這裡要注意一下。
第六步、格式後的sdb4分區添加為物理卷
[[email protected] ~]# pvcreate /dev/sdb4
Physical volume "/dev/sdb4" successfully created
第七步、查看當前系統的物理卷(PV)情況
[[email protected] ~]# pvdisplay
---Physical volume ---
PVName /dev/sda2
VGName VolGroup
PVSize 15.51 GiB / not usable3.00 MiB
Allocatable yes (butfull)
PESize 4.00 MiB
Total PE 3970
Free PE 0
Allocated PE 3970
PVUUID Up77sG-sNKf-Ja0k-crBf-N0wz-a5hy-T6sVFh
"/dev/sdb4" is a new physical volume of "15.99 GiB"
---NEW Physical volume ---
PVName /dev/sdb4
VGName
PVSize 15.99 GiB
Allocatable NO
PESize 0
Total PE 0
Free PE 0
Allocated PE 0
PVUUID Gqnw7N-HooX-S2Nz-1NIZ-YpOe-g0jo-grG1rQ
說明:可以看到添加的新物理卷sdb4,大小都符合我們添加時的設定
第八步、查看當前卷組情況
[[email protected] ~]# vgdisplay
---Volume group ---
VGName VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VGAccess read/write
VGStatus resizable
MAXLV 0
CurLV 2
Open LV 2
MaxPV 0
CurPV 1
ActPV 1
VGSize 15.51 GiB
PESize 4.00 MiB
Total PE 3970
Alloc PE / Size 3970 / 15.51GiB
Free PE / Size 0 / 0
VGUUID PPrifh-glzl-nnxX-YkBm-xJ1s-rgnw-d1WsJd
第九步、將分區sdb4轉換為擴充分區
[[email protected] ~]# vgextend VolGroup/dev/sdb4
Volume group "VolGroup" successfully extended
第十步、查看當前的邏輯卷
[[email protected] ~]# lvdisplay
---Logical volume ---
LVPath /dev/VolGroup/lv_root
LVName lv_root
VGName VolGroup
LVUUID dCIsej-0NWX-bVFe-bT6L-c4eY-oy4G-9lNBOC
LVWrite Access read/write
LVCreation host, time ,
LVStatus available
#open 1
LVSize 7.75 GiB
Current LE 1985
Segments 1
Allocation inherit
Read ahead sectors auto
-currently set to 256
Block device 253:0
---Logical volume ---
LVPath /dev/VolGroup/lv_swap
LVName lv_swap
VGName VolGroup
LVUUID K5bxJo-2SmM-6NCU-mBJP-Qzp1-ZODH-nbLK0k
LVWrite Access read/write
LVCreation host, time ,
LVStatus available
#open 1
LVSize 7.75 GiB
Current LE 1985
Segments 1
Allocation inherit
Read ahead sectors auto
-currently set to 256
Block device 253:1
說明:這裡可以看到“/”根分區的路徑名稱為:/dev/VolGroup/lv_root
第十一步、查看擴充後的卷組情況
[[email protected] ~]# vgdisplay
---Volume group ---
VGName VolGroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VGAccess read/write
VGStatus resizable
MAXLV 0
CurLV 2
Open LV 2
MaxPV 0
CurPV 2
ActPV 2
VGSize 31.50 GiB
PESize 4.00 MiB
Total PE 8064
Alloc PE / Size 3970 / 15.51GiB
Free PE / Size 4094 / 15.99 GiB
VGUUID PPrifh-glzl-nnxX-YkBm-xJ1s-rgnw-d1WsJd
說明:擴充後的卷子情況,可以看出大小增加了16GB(與第八步中的對比)
第十二步、將新增的邏輯卷全部擴充到“/”分區中
[[email protected] ~]# lvextend -L +15.99G/dev/VolGroup/lv_root
Rounding size to boundary between physical extents: 15.99 GiB
Extending logical volume lv_root to 23.75 GiB
Logical volume lv_root successfully resized
說明:這裡sdb4總共有16G,所以把16BG全部添加給根分區。
第十三步、查看“/”根分區格式,並重新重新整理根分區的大小
[[email protected] ~]# e2fsck -f/dev/VolGroup/lv_root
e2fsck 1.41.12 (17-May-2010)
/dev/VolGroup/lv_root is mounted.
e2fsck: 無法繼續, 中止.
[[email protected] ~]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root ismounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of/dev/VolGroup/lv_root to 6224896 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root isnow 6224896 blocks long.
說明:命令resize2fs即重新整理根分區“/dev/VolGroup/lv_root”的容量。
第十三步、查看重新整理後根分區的大小
[[email protected] ~]# df -h
檔案系統容量已用可用已用%% 掛載點
/dev/mapper/VolGroup-lv_root
24G 7.1G 16G 32% /
tmpfs 3.9G 144K 3.9G 1% /dev/shm
/dev/sda3 83G 350M 79G 1% /media/Lucene
說明:可以看到根分區的大小有7.7G變成了24G,重啟一下系統再來看情況。此時就可以繼續安裝軟體了,不會提示空間不足了。
CentOS根分區擴容方法