Fatih Begit

Şubat 12, 2010

Virtualbox Sanal Disk Yeniden Boyutlandırma

Filed under: Bilgisayar Dünyası — fatihbegit @ 11:23 am
Tags: , , ,

Günümüzde sanallaştırma teknolojileri hem kurumsal alanlarda hem de kişisel kullanım amaçlı olarak oldukça yagınlaştı. Sun Microsystems ürünü olan VirtualBox uygulaması da bu konuda özellikle ücretsiz olması nedeniyle son kullanıcılara en etkin çözümlerden biri olarak karşımıza çıkıyor. VirtualBox kullanarak Windows üzerinde Linux yada Linux üzerinde Windows ortamı sağlayabilen sanal makineler oluşturmak mümkün.

Tabiki bir sanal makine kurabilmeniz için, öncelikle gerçek diskinizde bir dosya olarak gözüken, sanal makinenin işletim sisteminin kurulacağı, sanal bir disk oluşturmanız gerekir. Peki örneğin 10GB olarak oluşturduğunuz disk doldu ve linux sanal makinenizin sistem alanında, disk alanına ihtiyacınız doğdu. Bu yazımda bu durumda yeni kurulum yapmadan sistem disk alanınızı arttırma yollarından birini anlatmaya çalışacağım.  (Disk klonlama adımından sonraki adımlar, gerçek linux sistemimizde disk alanımızın boyutunu değiştirmek için kullanılabilir. Ancak diskimizin boyutunu küçültmek istiyorsak veri kaybı oluşmaması için yeni boyutun disk üzerindeki veri büyüklüğü toplamından küçük olmamasına dikkat edilmelidir.)

Bu işlemi makinemizin diskini değiştirmek olarak düşünebiliriz. Yani yeni ve daha büyük örneğin 20GB lık bir sanal disk oluşturmalıyız.

Daha sonra bu ikinci diski makinemize “Primary Slave” olarak yerleştirelim.

Yapmamız gereken ilk diskimizi ikinci diskimize kopyalamak. Bunun için en sağlıklı yol,bir live CD ile makinemizi açmak. Ubuntu CD leri bu işimizi görecektir. Bunun için sanal CD-ROM umuza bir Ubuntu CD imajı yerleştirerek ve makinemizi CD den boot ederek başlatalım. Diski makinemize “primary slave” olarak yerleştirdiğmiz için /dev/sda eski sanal diskimiz, /dev/sdb yeni ve büyük sanal diskimiz olacaktır. Ancak yine de emin olmak için:

ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu # fdisk -l /dev/sdb
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000c8c93

….

komutunu çalıştırarak, boyutlardan eski ve yeni disklerimizi tespit edebiliriz. Şimdi yeni diskimizin partition tablosunu yani sistem ve swap alanlarımızı yeni ve daha büyük boyutlarda oluşturalım.

root@ubuntu:/home/ubuntu # cfdisk /dev/sdb
cfdisk (util-linux-ng 2.14.2
Disk Drive: /dev/sdb
Size: 21474836480 bytes, 21.4 GB
Heads: 255   Sectors per Track: 63   Cylinders: 2610
Name                 Flags                Part Type         FS Type                       [Label]                   Size (MB)
————————————————————————————————————————————-
sdb1                 Boot                  Primary          Linux ext3                                                       20464.50
sdb5                                             Logical            Linux                                                              1003.49
Şimdi eski sistem alanımızı yeni sistem alanımıza klonlayabliriz.

root@ubuntu:/home/ubuntu# dd if=/dev/sda1 of=/dev/sdb1

dd ile /dev/sda1 bölümünü /dev/sdb1 bölümü içerisine dosya sistem tablosuyla beraber klonladık. Yani sdb1 diskimiz 20GB olmasına rağmen dosya sistemi tablomuz 10GB lık olduğu için kullanılabilir alanımız henüz artmadı. Bunu yeni sanal diskimizi mount ederek te görebiriliz.

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             8.8G  7.4G  1.1G  88% /media/disk

Kullanılabilir alanı genişletmemiz için dosya sistemi tablomuzu da genişletmeliyiz. Öncelikle üzerine verilemizi kopyaladığımız diski kontrol edelim.

root@ubuntu:/home/ubuntu # fsck -n /dev/sdb1
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/sdb1: clean, 126741/579360 files, 1943615/2319376 blocks
Daha sonra sırasıyla şu komutları çalıştıralım

root@ubuntu:/home/ubuntu # tune2fs /dev/sdb1
tune2fs 1.40.8 (13-Mar-2008)
root@ubuntu:/home/ubuntu # tune2fs -O ^has_journal /dev/sdb1
tune2fs 1.40.8 (13-Mar-2008)
Şimdi fdisk ile dosya sistemi tablomuzu düzenleyebiliriz.

root@ubuntu:/media# fdisk /dev/sdb
The number of cylinders for this disk is set to 2610.
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): p
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000c8c93
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2488    19984828+  83  Linux
/dev/sdb2            2489        2610      979965    5  Extended
/dev/sdb5            2489        2610      979933+  82  Linux swap / Solaris

Sdb1 bölümümüzü silelim. Burada veri kaybı olmayacaktır. ( Biz yeni disk oluşturup ayrıca üzerine partition tablomuzu kendimiz yazdığımız için bu bölümü silip yeniden daha büyük şekilde oluşturma adımlarını atlayabiliriz. Ancak aynı disk üzerinde bir genişletme için bu adımların yapılması gerekir.)

Command (m for help): d
Partition number (1-5): 1

Bölümü yeniden oluşturalım.

Command (m for help): n
Command action
l   logical (5 or over)
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2488, default 2488): 2488

Şimdi tekrar 1. Bölümü bootable yapalım.

Command (m for help): a
Partition number (1-5): 1
Command (m for help): q

Tekrar bölümümüzü kontrol edelim.

root@ubuntu:/home/ubuntu# e2fsck -f /dev/sdb1
e2fsck 1.40.8 (13-Mar-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 126741/579360 files (3.5% non-contiguous), 1910813/2319376 blocks

Şimdi dosya sistemimizi genişletebiliriz.

root@ubuntu:/home/ubuntu# resize2fs /dev/sdb1
resize2fs 1.40.8 (13-Mar-2008)
Resizing the filesystem on /dev/sdb1 to 4996207 (4k) blocks.
The filesystem on /dev/sdb1 is now 4996207 blocks long.

Tekrar bölümümüzü kontrol edelim.

root@ubuntu:/home/ubuntu# fsck -n /dev/sdb1
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/sdb1: clean, 126741/1248480 files, 1932495/4996207 blocks

Dosya sistemimizi tekrar eski moduna döndürelim.

root@ubuntu:/media# tune2fs -j /dev/sdb1
tune2fs 1.40.8 (13-Mar-2008)
Creating journal inode: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Şimdi sanal makinemizi kapatıp eski sanal diskimizi çıkarıp yeni sanal diskimizi “primary master” yaparak  ve Ubuntu imajımızı sanal CD-ROM dan çıkararak makinemizi başlatabiliriz. Sanal makinemizin sistem bölümünde 10GB lık bir genişleme olduğunu görebiliriz.

root@ubuntu:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              19G  7.4G   11G  41% /

Son olarak swap alanımızın da UUID değeri değiştiği için yeni swap alanımızı makinemize göstermemiz gerekebilir.

root@ubuntu:~$ swapon /dev/sdb5

/etc/fstap dosyamız içerisindeki “UUID=31e0fe03-3dee-4722-a6e8-12c6c2260394 none            swap    sw              0       0” kaydındaki UUID degerini güncellememiz gerekebilir. Swap alanımızın UUID değerini alamak için blkid komutunu kullanabiliriz.

root@ubuntu:~$ blkid
/dev/sda1: UUID=”3264ae82-1b30-47a8-8c18-572ef1202585″
/dev/sda5: TYPE=”swap” UUID=”31e0fe03-3dee-4722-a6e8-12c6c2260394″

Yorum yapın »

Henüz yorum yapılmamış.

Bu yazıya yapılan yorumlar için RSS beslemeleri. URI'nin geri izlemesini yap.

Yorum yapın

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Değiştir )

Twitter picture

You are commenting using your Twitter account. Log Out / Değiştir )

Facebook photo

You are commenting using your Facebook account. Log Out / Değiştir )

Connecting to %s

Theme: Rubric. WordPress.com'dan blog alın.

Follow

Get every new post delivered to your Inbox.