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/sdb1dd 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/diskKullanı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/sdbThe 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): 1Bö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): qTekrar 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 blocksDosya 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″
