2011-09-21

Instalacija Arch Linux-a na LVM i obratno

U prošlom postu opisao sam šta je to LVM i kako se pravi. Ali da bi LVM radio na Arch Linux-u mora se izvršiti određeno podešavanje i o teme će biti reči u ovom tekstu.

Treba obratiti pažnju na 2 fajla.

U rc.conf treba postaviti
USELVM="yes"

U mkinitcpio.conf treba da stoji:
MODULES="dm_mod"
. . .
HOOKS="base udev autodetect pata scsi sata usb lvm2 filesystems usbinput"

Zatim traba ponovo naraviti initramfs:
cd /boot
mkinitcpion -p linux

Manuelno mountovanje LVM particije

Ponekad je nužno ručno mountovati particiju, sa običnim je to lako:
mount /dev/sda4 /mnt/arch

Ali to ne pali kod LVM particija.

sa
pvs

saznajemo ime VG i na koje PV su u VG

Recimo sa se VG zove VolGroup00, zatim sa:
lvdisplay /dev/VolGroup00

izlistamo LV na VG

Kad smo se odlučili koju LV (LogVol00 u primeru) ćemo mountovati radimo:
vgscan --mknodes
lvchange -a y /dev/VolGroup00/LogVol00
mount /dev/VolGroup00/LogVol00 /mnt/lvm

2011-09-18

Logical volume manager - LVM

LVM je način da linux dobije particije koje se mogu lako širiti i skupljati. Osim toga moguće je raditi apstrakciju diskova i particija, zgodno za sistem sa puno diskova. Nad LVM se često kombinuje sa softverskim RAID-om i enkripcijom.

Pre nego što nastavimo dalje moramo defisati osnovne pojmove.

Physical volume - PV
Disk ili particija diska koja je određena da se priključi u LVM. Particija treba da je tipa 8e Odnosno Linux/LVM. Pravi se npr. preko disk partition alata cfdisk ili fdisk.

Volume groupe - VG
VG je apstrakcija između PV i LV (niže opisano). VG je nešto kao disk van LVM rečnika. Razlika je što se VG može sastojati od više diskova/particija tj. phisical volume-a. VG se potom deli na logical volume-e.

Logical volume - LV
Predstavlja ono što se u van LVM zove particijom. VG se izdeli na više LV. Pri tom se veličina LV odredi tako da se ne iskoristi čitava veličina VG, zato što se kasnije kad se ukaže potreba lako LV poveća ili smanji.

Pravljenje LVM PV, VG i LV

Ovde ću prikazati način na koji se LVM pravi na Arch Linux-u. Na drugim distribucijama ne bi trebalo da se postupak mnogo razlikuje, komande za LVM su svuda iste.

Pretpostavka je da smo prethodno napravili LVM particiju i da je ona na /dev/sda4

Prvo treba proveriti da li je modul za LVM učitan u kernel:
modprobe dm-mod

zatim na particiju koju smo napravili i koja je tipa 8e (LVM) napravimo PV:
pvcreate /dev/sda4
pvdisplay # prikazuje rezultat

Zatim pravimo VG:
vgcreate VolGroup00 /dev/sda4 # ime izabrati po želji

Da imamo još PV da dodajemo u VG (osim ovog jednog sa /dev/sda4) radili bi ovo:
vgextend VolGroup00 /dev/sdb1

A zatim na VG pravimo LV po izboru za sve particije koje nam trebaju:
lvcreate -L 10G VolGroup00 -n lvroot # veličina, pripadajuca VG, ime LV
..

Dalje ukoliko se instalira početi sa instalacijom i tamo stvoriti filesysteme, ako je linux već instaliran onda mora ručno da se prave FS i da se mount-uju. Particije se sad vide preko device mappera pa mesto uobičajenog pristupa sa /dev/sda[x] referišemo se na njih u obliku:
/dev/mapper/VG00-lvroot

Za file system na LV preporučujem EXT4 eventualno EXT3. Ta dva sistema se mogu povećavati a da ih nije potrebno umount-ovati nego je direktno - online moguće promeniti veličinu naviše. ReiserFS nije moguće smanjivati.

Napomena: na LVM je moguće staviti sve linux particije. Ali ukoliko se koristi Grub 1 nije moguće imati boot particiju na LVM, osim ako nije Grub patchovan da to podrži (takav je Red Hatov). Grub 2 trebalo bi da podržava boot particiju na LVM. Swap particija zahteva drugačiju komandu za kreiranje LV da se prostor tog LV-a ne bi raspršio po disku/diskovima već da bi bio iz jednog dela. Pri tom se mnogi žale da kad dođe do popunjavanja swap-a LVM se zaglavi pa se preporučuje da swap bude van LVM. Mada, kad se swap popuni i na običnoj particiji linux se zaglupi...

2011-09-02

IBM Lotus Notes on Ubuntu: invalid character in revision number

Few days ago I needed to upgrade Lotus Notes 8.5.1 to 8.5.2 fixpack 2. IBM provides .deb packages and .sh scripts for smart upgrade.

Upgrading to 8.5.2 version passed without any problem, but installing fixpack was problematic. I was getting:

error in Version string '8.5.2-20110323.0837_FP2': invalid character in revision number

I have found a solution reading this post at Lotus forum but that post is too much bare. So I am giving a full explanation on how to solve this problem.

The problem is in "_" character in control file that is part of .deb package. Also file paths with that character in .deb package makes a problem. So we need to unpack .deb file, edit control file, change file paths and pack it again in .deb file:

# make directory wiht same name as package but without extension
mkdir ibm_lotus_notes_fixpack-8.5.2.i586

# unpack .deb file in that directory
cp ibm_lotus_notes_fixpack-8.5.2.i586.deb ibm_lotus_notes_fixpack-8.5.2.i586
cd ibm_lotus_notes_fixpack-8.5.2.i586 
ar x ibm_lotus_notes_fixpack-8.5.2.i586.deb 
rm ibm_lotus_notes_fixpack-8.5.2.i586.deb
 
# we need to put content of control.tar.gz into DEBIAN directory which is subdirectory of ibm_lotus_notes_fixpack-8.5.2.i586
mkdir DEBIAN
mv control.tar.gz DEBIAN
cd DEBIAN
tar -xvf control.tar.gz
rm control.tar.gz

# now we need to edit control file end delete "_" character from Version: using favorite editor
nano control
 
# now we should extract data.tar.gz and remove "_" from file path
cd ..
tar xvf data.tar.gz
rm data.tar.gz
cd opt/ibm/lotus/notes
mv fixpack_20110323.0837_FP2/ fixpack_20110323.0837FP2/

# set root owner to the files and pack files into .deb package
cd ../../../../
sudo chown -R root.root .
cd ..
dpkg-deb -b ibm_lotus_notes_fixpack-8.5.2.i586/
IBM has tradition of braking fixpacks for Ubuntu. This explanation works on any fixpack you just need to adjust file names, but logic is the same.