歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

如何給虛擬機VMWare下的redhat5.5根分區擴容

今天在Linux下通過sqlplus / as sysdba啟動數據庫時報以下錯誤:
ERROR:
ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
ORA-09945: Unable to initialize the audit trail file
Linux-x86_64 Error: 28: No space left on device
經過檢查發現原因是Linux的虛擬機根分區已經使用100%,以至於服務不能正常進行:
[oracle@etl110 ~]$ df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/VolGroup00-lvm_root
16G 15G 0 100% /
/dev/mapper/VolGroup00-lv_home
2.0G 68M 1.8G 4% /home
/dev/sda1 99M 13M 82M 14% /boot
tmpfs 579M 0 579M 0% /dev/shm

考慮將虛擬機磁盤空間由20G擴大到40G,基於LVM操作,以下為操作過程:

第一步:使用VMware工具擴容分配的硬盤空間
1.vmware 提供一個命令行工具,在Windows下為vmware-vdiskmanager.exe 位於 vmware 的安裝目錄下,比如vmware-vdiskmanager.exe;
在Linux下有直接的vmware-vdiskmanager指令;
進行的操作:在 windows 下進入命令行窗口,轉到 vmware 的安裝目錄,執行vmware-vdiskmanager.exe;在Linux下,直接
敲入vmware-vdiskmanager ,可執行該指令擴充使用的指令: vmware-vdiskmanager -x 40Gb vmdisk1.vmdk。

說明:要擴容的系統這時不能在運行 ,參數 "-x" 表示要擴展虛擬機硬盤空間,緊隨其後的數字是要擴展到的大小 ,而非
增加量(本例為擴展到40GB,這是一個磁盤總量,包含了原先的磁盤容量)。最後是指定要操作的虛擬機磁盤的具體文件,要是
路徑名中有空格,必須以雙引號括起來。按回車鍵開始執行,執行完畢,退出命令提示符窗口,重啟 VMware ,會發現虛擬機硬
盤空間已變成40GB了。

2.我們重啟虛擬機後,發現虛擬機的硬盤是變成40GB,但進入 linux 系統後,用 "df -h"查看發現硬盤空間還是原先那麼大。
雖然已經擴大了磁盤,但是由於還沒有經過分區,指定文件系統,所以 linux 操作系統無法識別。其實就相當於你的硬盤雖然大了,
但是你並沒有對其進行分區是一個道理。

第二步:使用Linux下的fdisk工具進行分區
首先,需要以root身份登錄系統。

fdisk -l 命令打印當前的磁盤分區表:
[root@etl110 ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM

(1)鍵入命令:fdisk /dev/sda,sda就是經過擴容的硬盤,為 SCSI 硬盤, IDE 類型硬盤對應為 hda ,是對該硬盤進行操作;
(2)鍵入:m回車列出 fdisk 的幫助;
(3)鍵入:n回車用於添加新分區,此時, fdisk 會讓你選擇添加為邏輯分區呢(編號從 5 開始)還是主分區(編號 1 到 4 )
鍵入p選擇主分區;鍵入l選擇邏輯分區 ,此處我們鍵入p選擇主分區,回車後此時fdisk會讓你選擇主分區的編號,如果已經有了
主分區sda1,sda2,那麼編號就選3,即要創建的該分區為sda3,接下來fdisk 又會讓你選擇該分區的開始值就是分區的Start值以
及End值,直接回車選擇默認值即可;最後鍵入w寫入分區表,整個操作過程如下,後面帶#號的為我加的注釋,方便理解。

[root@etl110 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 5221.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): m #獲取命令幫助列表
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
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 (experts only)

Command (m for help): n #新建分區
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3 #創建id號為3的分區
First cylinder (2611-5221, default 2611): #直接回車,使用默認值
Using default value 2611
Last cylinder or +size or +sizeM or +sizeK (2611-5221, default 5221): #直接回車,使用默認值
Using default value 5221

Command (m for help): t #修改系統分區的id號
Partition number (1-4): 3 #指定要修改的分區id號
Hex code (type L to list codes): 8e #指定要改成的id號,8e代表LVM
Changed system type of partition 3 to 8e (Linux LVM)

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: 設備或資源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.

[root@etl110 ~]# reboot
重啟系統後就可以在/dev/下看到sda3了

第三步:格式化該新添加的分區
鍵入命令:mkfs -t ext3 /dev/sda3,將/dev/sda3格式化為ext3格式,操作過程如下所示:

Copyright © Linux教程網 All Rights Reserved