kurulum icin elimizde uygun bir makinamiz var.
bu makinamizda 4 adet 2tb data diskimiz mevcut,
biz bu disklerimizi software raid 10 olarak proxmox altinda calistirmak istiyoruz
daha onceki bir yazimda once debian wheezy kurmus daha sonra onun uzerine lvm raid yapip isi hallettmistim
fakat bu bana cazip gelmiyor, bu tur raid kurulumu guncellemelerde sorun cikartiyor.
O yuzden bu kez yapmak istedigim oncelikle 4 diskimizin 1.cisine normal sekilde proxmox kurduktan sonra sistemi proxmox calisirken raid 10 haline getirmek
adimlar su sekildedir:
1- guncel proxmox isosu download edilir
2- /dev/sda uzerine normal proxmox kurulumu yapilir
3- hersey calisir hale geldikden sonra ssh ile sisteme baglanilir
4- proxmox icin gerekli repo ayarlari yapilir ve sistem guncellenir son olarak mdadm paketleri sisteme yuklenir
nano /etc/apt/sources.list
------------
deb http://ftp.de.debian.org/debian wheezy main contrib
# security updates
deb http://security.debian.org/ wheezy/updates main contrib
# PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
deb http://download.proxmox.com/debian wheezy pve-no-subscription
-------------
apt-get update
apt-get dist-upgrade
apt-get install mdadm
5-bu asamada partition tablolarimizi disk1 den disk2,3,ve 4 e kopyalayacagiz
ancak bundan once eger sistemde olurda daha onceden bir mdadm yapilandirmasi varsa eski disklerde bunu halletmek icin diskleri sifirlayalim, bu komut disklerde eski partitionlari ve mbr yi silecek
# dd if=/dev/zero of=/dev/sdx bs=512 count=1
bundan sonra partition tablolarimizi kopyalayalim 4disk icin su sekilde
sfdisk -d /dev/sda | sfdisk -f /dev/sdb
sfdisk -d /dev/sda | sfdisk -f /dev/sdc
sfdisk -d /dev/sda | sfdisk -f /dev/sdd
NOT NOT NOT // GUNCELLEME GUNCELLEME
EGER PARTITIONLARIMIZ OLDUDA GPT OLDU ISE
gdisk kur
Copy the partition scheme from /dev/sda to /dev/sdb:
sgdisk -R=/dev/sdb /dev/sda
buda zorunlu Now randomizes the GUID:
6- 3 diskimizdeki partition formatini RAID olarak belirleyelim
sfdisk -c /dev/sdb 1 fd
sfdisk -c /dev/sdb 2 fd
sfdisk -c /dev/sdc 1 fd
sfdisk -c /dev/sdc 2 fd
sfdisk -c /dev/sdd 1 fd
sfdisk -c /dev/sdd 2 fd
NOT NOT NOT // GUNCELLEME GUNCELLEME
GPT icin soyle yaptim
Belki baska kolay yolu vardir , bulamadim noobum.
gdisk /dev/sdb
t ye bas
partition sec 1 > FD00 yap
tum disklerdeki tum partititonlara yapinca w kaydet q cik
7- Raid yapilandirmamizi INITIALIZE edelim
ONEMLI NOT: eger daha onceden disk yapilandirmamizda raid kullanmis isek
mdadm yi sisteme entegre ettigimizde bunlar mdadm.conf dosyamiz icine otomatik olarak yazilmis olabilir, o yuzden raid yapimizi initialize ettikten sonra /etc/mdadm/mdadm.conf dosyamizi incelememiz gerek
eger gereksiz eski raid array uuid bilgisi var ise bunlari silmeli ve yeni yapiyi icine olusturmaliyiz.
mdadm --create /dev/md0 --level=1 --raid-disks=4 missing /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm --create /dev/md1 --level=10 --raid-disks=4 missing /dev/sdb2 /dev/sdc2 /dev/sdd2
conf dosyamiza goz atalim eski yapilar varsa silelim, yeni yapimizi kayit etmek icin
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
islem tamamdir
8- /boot dizinimizi /dev/md0 uzerine tasiyalim ve fstab dosyamizi /dev/md0 dan boot edecek hale getirelim
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
sonra
nano /etc/fstab su sekilde olmasi gerek, basitce UUID satirimizi devre disi birakiyoruz
-----------------
# /dev/pve/root / ext3 errors=remount-ro 0 1
/dev/pve/data /var/lib/vz ext3 defaults 0 1
#UUID=cc425576-edf6-4895-9aed-ccfd89aeb0fb /boot ext3 defaults 0 1
/dev/md0 /boot ext3 defaults 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0
-------------------
9- sistemi reboot ediyoruz.
eger hersey yolunda giderse sistemimiz /dev/md0 uzerinden boot edecek demektir.
bravo ciddi bir asamayi hallettik |:)
sistem acildikdan sonra gerekli kontrolleri yapalim
mount | grep boot
dedigimizde asagidaki gibi bir satir cikmasi gerek
/dev/md0 on /boot type ext3 (rw,relatime,errors=continue,user_xattr,acl,barrier=0,data=ordered)
bunu gorduysek islem tamam demektir.
10- simdi gruba /dev/md0 dan boot etmek istedigimizi soyleyelim kisaca asagidaki komutlari girelim
echo '# customizations' >> /etc/default/grub
echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub
echo raid1 >> /etc/modules
echo raid10 >> /etc/modules
echo raid1 >> /etc/initramfs-tools/modules
echo raid10 >> /etc/initramfs-tools/modules
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
grub-install /dev/sdd
update-grub
update-initramfs -u
islem tamam
11- simdi /dev/sda1 i raid arrayimiz icine katmaliyiz
sfdisk -c /dev/sda 1 fd
mdadm –add /dev/md0 /dev/sda1
12- simdiki adimdan once burada cok uzun vakit alacak bir lvm tasima islemi yapacagimizdan
screen
kurup calistirip bunun altinda islemleri yapmakta fayda var.
LVM yi /dev/md1 uzerine tasiyacagiz
pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda2 /dev/md1
pvmove cok uzun surecek. bu arada yatip uyumak en iyisi, ya da disari cikip hava alin. 2tb disk ve guncel bir islemci ile en az 2-3 saat surecektir 🙂
islem bittikten sonra sda2 uzerindeki pveyi reduce edip remove edecegiz
vgreduce pve /dev/sda2
pvremove /dev/sda2
13- en son asamada /dev/sda2 yide raid yapimiz icine katacagiz
sfdisk --change-id /dev/sda 2 fd
mdadm --add /dev/md1 /dev/sda2
14- bundan sonra raidimizin rebuild edisini guzel guzel izleyebiliriz 🙂
watch -n 5 cat /proc/mdstat
hatta dilersek bunu biraz hizlandirabiliriz
echo 800000 > /proc/sys/dev/raid/speed_limit_min
echo 1600000 > /proc/sys/dev/raid/speed_limit_max
gule gule kullaniniz.
PROXMOX SOFTWARE RAID 10 KURULUMUNUZ KULLANIMA HAZIRDIR
EK:
15– bu islemleri yaptiktan sonra df -h komutumuza makinamiz su sekilde yanit veriyor
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 3.2G 416K 3.2G 1% /run
/dev/mapper/pve-root 20G 1.2G 18G 7% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 6.3G 3.1M 6.3G 1% /run/shm
/dev/mapper/pve-data 1.8T 196M 1.8T 1% /var/lib/vz
/dev/md0 495M 58M 412M 13% /boot
/dev/fuse 30M 12K 30M 1% /etc/pve
/var/lib/vz/ 2TB mi? bir yerde yanlislik var 4 TB olmali idi 🙂
Eh normal, Kalan raid 10 diskimiz bos vg alani olarak duruyor. BKNZ:
vgdisplay
--- Volume group ---
VG Name pve
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 3.64 TiB
PE Size 4.00 MiB
Total PE 953544
Alloc PE / Size 472709 / 1.80 TiB
Free PE / Size 480835 / 1.83 TiB
VG UUID 16k1ou-8jQ7-OB63-Jesb-s7p4-SOPW-deKGGc
Pek Guzel, ne yapmamiz lazim? Bu bos alanimizi mevcut LVM alanimiza dahil edip /var/lib/vz/ altinda kullanilabilir hale getirmeliyiz.
Bu asamada linux LVM engin tecrubelerimizden faydalanacagiz.
once standart komutlar ile duruma bakalim:
lvdisplay
pvdisplay
vgdisplay
root@pmd04:~# vgs
VG #PV #LV #SN Attr VSize VFree
pve 1 3 0 wz--n- 3.64t 1.83t
root@pmd04:~# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 pve lvm2 a-- 3.64t 1.83t
root@pmd04:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
data pve -wi-ao--- 1.78t
root pve -wi-ao--- 20.00g
swap pve -wi-ao--- 8.00g
sonra
VG bos alanimizi extend edelim ve daha sonra LV mize dahil edelim
root@pmd04:~# lvextend -l +100%FREE /dev/pve/data
Extending logical volume data to 3.61 TiB
Logical volume data successfully resized
root@pmd04:~# resize2fs /dev/pve/data
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/pve/data is mounted on /var/lib/vz; on-line resizing required
old_desc_blocks = 118, new_desc_blocks = 232
Performing an on-line resize of /dev/pve/data to 969089024 (4k) blocks.
The filesystem on /dev/pve/data is now 969089024 blocks long.
root@pmd04:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 3.2G 416K 3.2G 1% /run
/dev/mapper/pve-root 20G 1.2G 18G 7% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 6.3G 3.1M 6.3G 1% /run/shm
/dev/mapper/pve-data 3.6T 197M 3.6T 1% /var/lib/vz
/dev/md0 495M 58M 412M 13% /boot
/dev/fuse 30M 12K 30M 1% /etc/pve
root@pmd04:~#
cok guzel mi oldu ne oldu ?
evet oldu
tamam o zaman |:)
————————————-
EK – GPT alamanca
————————————-
Proxmox 3.1 auf Softraid mit GPT
Proxmox unterstützt offiziell kein Softraid, man kann es aber nach der Installation in ein Softraid verwandeln:
http://boffblog.wordpress.com/2013/08/22/how-to-install-proxmox-ve-3-0-on-software-raid/
Bei großen Festplatten verwendet proxmox aber GPT zur Partitionierung. Daher erhält man schon beim kopieren der Partitionstabelle eine Fehlermeldung:
“WARNING: GPT (GUID Partition Table) detected on ‘/dev/sda’! The util sfdisk doesn’t support GPT. Use GNU Parted.”
Abhilfe schafft die Verwendung von gdisk. Für was genau die 1. Partition belegt ist weiss ich nicht. Boot lag bei mir auf /dev/sda2 und die lvm-Volumes lagen auf /dev/sda3
Somit habe ich folgende Befehle verwendet:
apt-get update
apt-get dist-upgrade
apt-get install mdadm gdisk
sgdisk -R /dev/sdb /dev/sda
!!!ACHTUNG Reihenfolge beachten, wird in dem Fall von recht nach links kopiert
sgdisk -G /dev/sdb
dd if=/dev/sda1 of=/dev/sdb1
NOTWENDIG?
sgdisk -t 2:fd00 /dev/sdb
sgdisk -t 3:fd00 /dev/sdb
Reboot notwendig?
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb2
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb3
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
/etc/fstab editieren und die UUID vor /boot durch /dev/md0 ersetzen
und nochmal booten!
echo ‘GRUB_DISABLE_LINUX_UUID=true’ >> /etc/default/grub
echo ‘GRUB_PRELOAD_MODULES="raid dmraid"‘ >> /etc/default/grub
echo raid1 >> /etc/modules
echo raid1 >> /etc/initramfs-tools/modules
grub-install /dev/sda
grub-install /dev/sdb
update-grub
update-initramfs -u
mdadm --add /dev/md0 /dev/sda2
pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda3 /dev/md1
vgreduce pve /dev/sda3
pvremove /dev/sda3
sgdisk -t 3:fd00 /dev/sda
mdadm --add /dev/md1 /dev/sda3
cat /proc/mdstat
GUNCELLEME 23 MAYIS 2014
Bu is cok Kabak Tadi verdi
Ama ne kadar ugrastigimi ben biliyorum 🙂
Bildigim seyi o yuzden yeni yine yeniden bir daha yazayim
bu kez gene 8 disk ile .bash_history dosyam uzerinden gidecegim
Yukaridaki hersey burada var kisa minik aciklamalar ile
Bir iki puf noktasida var
Bunu goz onune almak son olarak ve ileride uygulamak yerinde bir karar olacaktir.
Yazmamaya karar verdim.
Cok daraltti cunku beni
bir daha ugrasip bir daha yaparim sonra…