lvm feletti drbd-n lévő ocfs2 felcsatolása bootkor

Fórumok

Wheezy. initramf, boot sima ext, többi lvm2.
Van egy LV drbd néven.
Így néz ki a drbd confja:
device /dev/drbd0;
disk /dev/mapper/hercsula-drbd;

/etc/fstab-ban:
/dev/drbd0 /drbdlv ocfs2 _netdev,noatime,nodiratime 0 0

Bootkor nem csatolja fel a partíciót, de drbd, ocfs2 működik szépen. Belépés után "mount /drbdlv" működik.

Hibaüzenet alapvetően nincs, sok mindent kipróbáltam már, de semmi...

A partíción kvm guest image-ek lennének, amik indulnak automatikusan, így ezek indulása előtt kellene felcsatolni.

Vannak ötleteitek, hasonló tapasztalat?

Hozzászólások

Jo esellyel a sorrend nem passzol, modositani kellene megfelelo sorrendre az init scripteket, legalabb azt amelyik _netdev mount-ot csinalja, hogy ocfs utan probaljon indulni csak es forditva.
De igy latatlanban azt mondanam egyeb sebbol is verzik a dolog, pl mi intezi melyik node-on legyen primary a drbd, avagy a masodik csak amolyan backup slave megoldas vagy a rosszabb fajta primary/primary metodust probalod?

Az valóban egyértelmű hogy a sorrend a rossz..., de hogy hol próbálja meg felcsatolni, hogy kellene ezt logolni, figyelni, és hol/hogyan kellene az előfeltételei után, és a rá épülő dolgok előtt indítani, erről nem írtál semmit.

Gondolod számít a mount szempontjából, hogy milyen a drbd?
Milyen sebeket látsz azon kívül ami a kérdés? Hol látod?

Az aktualis init scriptek sorrendjet /etc/rc.* -ban talalod, rcS.d es rc2.d -ben keresd elsosorban boot-kor mi a sorrend (pl S06lvm2 - Start, hatodik a sorban, lvm2 nevu init srcipt /etc/init.d-ben).

Eloszor is keresd meg init scriptek kozott melyik az ami felcsatolna "_netdev" opcioval ellatott fstab bejegyzest (regen jatszottam mar ocsfs-el, de talan annak volt valami init script-je ami intezte ezt, talan az o2cb?), pl: grep '_netdev' /etc/init.d/* . Lehet tobb is van ha mast is pakoltal a rendszerbe, pl nfs, iscsi stb. .

Sorrendben kb ami kellene neked:
1, lvm
2, networking
3, drbd
4, ocsfs
5, kvm

Modosithatod kezzel is rc file-ok sorrendjet, de jobb init scriptek elejen levo bejegyzeseket modositani:
# cat /etc/init.d/lvm2
#!/bin/sh
### BEGIN INIT INFO
# Provides: lvm2 lvm
# Required-Start: mountdevsubfs
# Required-Stop:
# Should-Start: udev mdadm-raid cryptdisks-early multipath-tools-boot
# Should-Stop: umountroot mdadm-raid
# X-Start-Before: checkfs mountall
# X-Stop-After: umountfs
# Default-Start: S
# Default-Stop:
### END INIT INFO

ahol "Required-Start" es/vagy "Should-Start" sorokat kell (plusz stop-ot is ajanlott) modositanod, megfeleloen (start reszhez ird be hogy mit inditson el ELOTTE, stop-hoz meg hogy mi elott allitsa le shutdown eseten), majd 'insserv -v ' utasitassal frissitheted a sorrendet (lehet tobb file-t is modositanod kell hogy biztosan meg legyen a kello sorrend).

Ahhoz hogy lathassuk milyen egyeb gond lehet meg jo lenne tudni pontosabban hogy epulnek egymasra a reszegysegek (bar en alapjaban nem javaslom ocfs-t, nagyon meg tudja trefalni az embert):
- drbd-t mi teszi primary-be (drbd konfig vagy valami egyeb)?
- masik node-on is primary a drbd (bar gondolom igen, kulonben minek az ocfs)?
- lock manager fut-e rendben?
- a virt gepeket mi kezeli melyik node-on legyenek aktivak, van valami automata HA megoldas vagy csak manualisan?

Köszönöm a segítséget! Nagyon részletes voltál..., azért írtam ilyen keveset, mert már belezavarodtam kissé a dologba (akkor szoktam kérdezni :) ). Ismerem az init-et, a _netdev, ocfs viszont új nekem.

Két szerver, többek között azonos alhálózatban virtuális rendszerek (openvpn tap), kvm.
pv, vg már adott volt, és volt szabad hely egy új lv-nek, ezért lett erre a drbd
Nincs szükség HA-ra, manuálisan ha..., (aztán majd vagy lesz, vagy marad manuális, bőven elég az is). Viszont egy (windows) szerverről/kedvéért drbd hogy a másik szerveren is meglegyen a mindenkori, a napi backup mellett.

Egyelőre teszt jelleggel mondjuk két teszt guest image-ét raknám rá, és igen, primary-primary..., egyik guestet egyik, másikat másik szerveren futtatnám. ocfs lock megy. (de ezeket fogom még sokat teszteli)
Ha nem tűnik jónak, akkor majd pri-sec, mivel élesben csak az egy darab win szervernek szükséges ilyen "backup".

drdb, ocfs nagyjából ennek alapján: http://blog.xorp.hu/ha-drbd-ocfs2, ilyesmi config filokal.

'_netdev' leginkabb csak egy jeloles amit altalanosabban kezelnek scriptek, hogy tudjak az neten keresztuli fs, igy network nelkul ne akarjak felcsatolni, avagy forditva network es megfelelo dolgok utan vagy leallitasnal forditott sorrendben kezeljek, de amugy semmi extra. Ha nem talalsz hozza megfelelo init scriptet csak siman irj egyet ami felcsatolja a tarhelyedet mielott indulna a kvm.

Viszont ha csak tartalek backup-nak akarod a drbd-t akkor sokkal inkabb azt javaslom tedd primary/slave konfigra es ocfs helyett nem clustered (pl ext4, xfs) file rendszerrel. Igy nem tudod egyidejuleg 2 helyrol felcsatolni, de ha szukseges kezzel el tudod inditani masik node-on a vm-(ek)et amire jo esellyel ritkan lesz szukseg, cserebe viszont sok szivastol kimeled meg magad ocfs-el.

Mesélj légy szíves a sok ocfs2-es szívásról! :)
Önmagában a pri-pri is bajos, ocfs nélkül?

Bár alapvetően egy guesthez kell, egy image file, de azért mégiscsak szeretném hosszabb távon az összeset ezen tárolni. Meg aztán izgalmasabb is..., bár a gondokat nem keresem.

Viszont ha ocfs2-vel van a baj, akkor mivel néhány image fileról van/lesz szó, csinálhatnék erre a néhány file-ra akár saját "lockot" is..., hogy még véletlenül se tudjam elindítani két szerveren ugyanazt a guestet.

...vagy tapasztalataid alapján mindenképp maradnál a pri-sec-nél, és inkább két drbd resource?

Alapbol a dupla primary is problemas lehet es nem javaslom ha nincs ra valoban szukseg. Ocfs eseten futottam bele olyanba annyira bekattant, hogy helyreallitani se sikerult, backup-bol kellett visszatolteni, kb azota nem is hasznalok ocfs-t.
Te esetedben lehetne azt is hogy nem file alapon tarolni a vm-eket, hanem pl lvm-eken, clustered lvm talan egy fokkal jobb lehet a clustered file rendszereknel, de annak is csak akkor latom ertelmet ha sok es relative gyakran valtozo lvm-ekre van szukseged es valoban kell a dupla primary drbd.
Egyebkent inkabb azt mondom sokkal egyszerubb ha maradsz a primary/slave eseten es akar vm-enkent kulon drbd. Amig csak par virtualis geprol van szo amit nem hetente varialsz addig nem sok plusz munka letrehozni ujabb drbd-ket nekik, viszont ha gond van akkor kevesebb a hibalehetoseged es nem feltetlenul erinti mindegyik vm-et.

Ami viszont érdekes:
~# grep '_netdev' /etc/init.d/*
/etc/init.d/mountall.sh: -O no_netdev
/etc/init.d/umountnfs.sh: _netdev|*,_netdev|_netdev,*|*,_netdev,*)

Ha csinálnék egy /etc/init.d/mount_netdev -et valami ilyesmi tartalommal: "mount -a -O _netdev"
gondolom menne. Bár akkor se tudom hogy hova raktam... rc2.d-be drbd és libvirt-guest köze, ...vagy rcS.d S99?

...de gyanús hogy erre van valami jobb megoldás, valami hiányzik a rendszerből, ami indítaná.

~# ls -l /etc/rcS.d/
total 1
-rw-r--r-- 1 root root 447 Oct 15 2012 README
lrwxrwxrwx 1 root root 21 Mar 15 03:10 S01hostname.sh -> ../init.d/hostname.sh
lrwxrwxrwx 1 root root 24 Mar 15 03:10 S01mountkernfs.sh -> ../init.d/mountkernfs.sh
lrwxrwxrwx 1 root root 14 Mar 15 03:10 S02udev -> ../init.d/udev
lrwxrwxrwx 1 root root 24 Mar 15 03:10 S03keyboard-setup -> ../init.d/keyboard-setup
lrwxrwxrwx 1 root root 26 Mar 15 03:10 S04mountdevsubfs.sh -> ../init.d/mountdevsubfs.sh
lrwxrwxrwx 1 root root 18 Mar 15 03:10 S04qemu-kvm -> ../init.d/qemu-kvm
lrwxrwxrwx 1 root root 20 Mar 15 03:10 S05hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx 1 root root 14 Mar 15 03:10 S05lvm2 -> ../init.d/lvm2
lrwxrwxrwx 1 root root 22 Mar 15 03:10 S06checkroot.sh -> ../init.d/checkroot.sh
lrwxrwxrwx 1 root root 32 Mar 15 03:10 S07checkroot-bootclean.sh -> ../init.d/checkroot-bootclean.sh
lrwxrwxrwx 1 root root 14 Mar 15 03:10 S07kmod -> ../init.d/kmod
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S07mtab.sh -> ../init.d/mtab.sh
lrwxrwxrwx 1 root root 20 Mar 15 03:10 S08checkfs.sh -> ../init.d/checkfs.sh
lrwxrwxrwx 1 root root 21 Mar 15 03:10 S09mountall.sh -> ../init.d/mountall.sh
lrwxrwxrwx 1 root root 31 Mar 15 03:10 S10mountall-bootclean.sh -> ../init.d/mountall-bootclean.sh
lrwxrwxrwx 1 root root 18 Mar 15 03:10 S11ebtables -> ../init.d/ebtables
lrwxrwxrwx 1 root root 16 Mar 15 03:10 S11procps -> ../init.d/procps
lrwxrwxrwx 1 root root 19 Mar 15 03:10 S11udev-mtab -> ../init.d/udev-mtab
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S11urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root 20 Mar 15 03:10 S12networking -> ../init.d/networking
lrwxrwxrwx 1 root root 14 Mar 21 00:55 S13o2cb -> ../init.d/o2cb
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx 1 root root 20 Mar 15 03:10 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root 15 Mar 21 00:55 S14ocfs2 -> ../init.d/ocfs2
lrwxrwxrwx 1 root root 21 Mar 15 03:10 S15mountnfs.sh -> ../init.d/mountnfs.sh
lrwxrwxrwx 1 root root 31 Mar 15 03:10 S16mountnfs-bootclean.sh -> ../init.d/mountnfs-bootclean.sh
lrwxrwxrwx 1 root root 13 Mar 15 03:10 S17kbd -> ../init.d/kbd
lrwxrwxrwx 1 root root 23 Mar 15 03:10 S18console-setup -> ../init.d/console-setup
lrwxrwxrwx 1 root root 21 Mar 15 03:10 S19bootmisc.sh -> ../init.d/bootmisc.sh
lrwxrwxrwx 1 root root 24 Mar 15 03:10 S19screen-cleanup -> ../init.d/screen-cleanup
lrwxrwxrwx 1 root root 19 Mar 16 20:38 S19shorewall -> ../init.d/shorewall
lrwxrwxrwx 1 root root 20 Mar 15 03:10 S19x11-common -> ../init.d/x11-common

~# ls -l /etc/rc2.d/
total 1
-rw-r--r-- 1 root root 677 Jul 14 2013 README
lrwxrwxrwx 1 root root 14 Mar 15 03:10 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx 1 root root 20 Mar 15 03:10 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S16rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S17openvpn -> ../init.d/openvpn
lrwxrwxrwx 1 root root 15 Mar 15 03:10 S18acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root 13 Mar 15 03:10 S18atd -> ../init.d/atd
lrwxrwxrwx 1 root root 14 Mar 15 03:10 S18dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S18dnsmasq -> ../init.d/dnsmasq
lrwxrwxrwx 1 root root 21 Mar 15 03:10 S18libvirt-bin -> ../init.d/libvirt-bin
lrwxrwxrwx 1 root root 15 Mar 15 03:10 S18mysql -> ../init.d/mysql
lrwxrwxrwx 1 root root 13 Mar 15 03:10 S18ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root 17 Mar 15 03:10 S19apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 14 Mar 21 00:55 S20drbd -> ../init.d/drbd
lrwxrwxrwx 1 root root 18 Mar 21 00:55 S21bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root 14 Mar 21 00:55 S21cron -> ../init.d/cron
lrwxrwxrwx 1 root root 15 Mar 21 00:55 S21exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root 24 Mar 21 00:55 S21libvirt-guests -> ../init.d/libvirt-guests
lrwxrwxrwx 1 root root 15 Mar 21 00:55 S21saned -> ../init.d/saned
lrwxrwxrwx 1 root root 19 Mar 21 00:55 S21smokeping -> ../init.d/smokeping
lrwxrwxrwx 1 root root 18 Mar 21 00:55 S22rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root 19 Mar 21 00:55 S22rmnologin -> ../init.d/rmnologin

Lehet hogy kellene lenni valaminek ocfs-hez, de legegyszerubb ha csinalsz egy init scriptet, amiben mount es umount benne van adott drbd particiohoz, majd azt az init scriptet megadod kvm (libvirtd) init scriptjeben start/stop opcioknal es frissited insserv -el (az modositja a szukseges rc file-okat).