Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> 教你在linux虛擬機中如何增加硬盤空間

教你在linux虛擬機中如何增加硬盤空間

日期:2017/2/7 9:19:46      編輯:Linux教程
電腦店訊  這段時間虛擬機中裝的東東不少。虛擬機分配的磁盤空間不夠大,誰著機子內的日志以及安裝的程序等內容越來越多,磁盤空間嚴重不足告警。我在網上搜索了很多相關資料。總結了幾個給虛擬機增加磁盤空間的方法,請大家參考     一,對於sda/vda等格式的硬盤   環境:centos 6.1 虛擬機的屬性:domainname test Disk path /var/lib/libvirt/images/test.img 硬盤分區: [root@localhost ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 6.8G 3.2G 3.3G 50% / tmpfs tmpfs 499M 0 499M 0% /dev/shm 需要添加硬盤空間。 方法1 思路,既然是少一塊硬盤,那麼我們就直接給虛擬機加一塊硬盤就好了,然後直接掛載到根分區的一個目錄下面。這樣我根分區的硬盤空間就擴展了。 解決方法1 A,生成一塊新的硬盤 使用virt-manager很容易,直接在虛擬的屬性中點擊“添加硬件”----“storage”選擇多大的空間,驅動類型,緩存模式。然後點擊完成。注意,有些硬盤是支持熱插拔的,有些不支持。除了IDE格式的硬盤外,其他的都支持熱插拔,這就意味著,如果添加的是IDE的硬盤的話,需要對虛擬機進行重啟,使他識別新添加的硬盤。 如果采用virsh命令添加的話。采用命令 #qemu-img create -f raw test_add.img 10G //說明,生成一塊新的raw格式的空盤 #virsh attach-disk test /var/lib/libvirtd/images/test_add.img vdb —cache none 或者#virsh edit test 在xml中的disk後面添加如下幾行。 <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/var/lib/libvirt/images/test_add.img'/> <target dev='vdb' bus='virtio'/> </disk> B,在虛擬機中對硬盤進行格式化 登錄到虛擬機中,首先查看是否能新識別硬盤 #fdisk -l 查看是否回顯示新添加的硬盤/dev/vdb 然後,對vdb進行格式化, #mkfs.ext4 /dev/vdb 接下來,新建一個目錄用來掛載新的硬盤 #mkdir /test #mount /dev/vdb /test 最後,將該掛載添加到開機啟動中 #blkid /dev/vdb //獲取硬盤的UUID /dev/vdb: UUID="19fc1d1d-7891-4e22-99ef-ea3e08a61840" TYPE="ext4" #vim /etc/fstab //添加開機加載,在最後一行加入 UUID=19fc1d1d-7891-4e22-99ef-ea3e08a61840 /test ext4 defaults 1 2 到此方法一,添加完畢 方法2,直接拉升分區

思 路,采用掛載的方法是而外添加了一塊盤,有沒有一種方法可以直接對硬盤進行拉伸。qemu-img中提供了一個resize的命令,但是該命令只是單純的 簡單了拉升或者縮小了一個raw的img鏡像大小,對於其中的分區卻不能進行修改。我需要對其中的的分區進行拓展。很碰巧紅帽子提供這種插件可以時間。此方法是采用紅帽子自帶的插件virt-resize進行拓展。該命令首先是獲取原來的分區信息,還 有其他文件信息。然後對新的鏡像進行重新分區、格式化。最後拷貝原鏡像中的文件到新文件系統中,再用新拓展的鏡像替換原有鏡像。因為實際采用copy的方 式,所以他花的時間比較長,如果是一個大鏡像不建議使用此方法

具體解決方案。 前提安裝libguestfs-tools工具包。關閉虛擬機 #yum -y install libguestfs-tools   A,新建一個大鏡像 #qemu-img create -f raw test_extend.img 15G 注意,這裡的img大小是你需要拓展的總大小 B,使用virt-resize進行拉升分區 #virt-resize —expand /dev/vda1 /var/lib/libvirt/images/test.img /var/lib/libvirt/images/test_new.img 注意,此時間很長,請耐心等待 C.使用新擴展的鏡像代替原鏡像 #mv /var/lib/libvirt/images/test_new.img /var/lib/libvirt/images/test.img D,啟動虛擬機 #virsh start test 拓展完成, virt-resize的優勢:能對虛擬機中的特定的分區進行拓展。並且能夠拓展windows鏡像。不需要登錄到虛擬機裡面進行任何操作。 缺點:拓展的時候需要關機。對於大的鏡像,拓展的時間比較長。   二,對於LVM格式的虛擬機   如果你的硬盤格式支持LVM。那麼你的硬盤拓展將容易許多,LVM支持硬盤的在線擴容。相當方便。 方法步驟: #lvcreate -L 40G -n lv_vm_test1 VolGroup #virsh attach-disk test /dev/mapper/VolGroup/lv_vm_test vdb 注意,有可能碰到權限問題。請先修改/dev/mapper/VolGroup/lv_vm_test的權限,是虛擬機可以掛載。 進入虛擬機的操作: #pvcreate /dev/vdb #vgextend VolGroup /dev/vdb #vgs #lvextend -l +100%FREE /dev/VolGroup/lv_root #resize2fs -p /dev/VolGroup/lv_root 優勢:拓展時間很快,支持動態擴展。 缺點,不適合window的拓展。
Copyright © Windows教程網 All Rights Reserved