wtorek, 21 września 2010

skopiowanie układu partycji na drugi dysk za pomocą sfdisk

Gdzieś usłyszałem, że ludzie dzielą się na dwie kategorie: tych którzy robią kopie bezpieczeństwa i tych którzy zaczną robić kopie bezpieczeństwa.

Można w tym celu tworzyć macierze lub podłączać drugi dysk pod serwer i wykonywać w nocy rsync.
W jednym i w drugim przypadku niezbędne jest utworzenie partycji o takich samym rozmiarze i typie jak na dysku głównym.
Oczywiście można skorzystać z polecenia fdisk na pierwszym dysku i dokładnie taki sam układ partycji zrobić za pomocą również fdisk'a, ale nie ma to większego sensu, ponieważ jest program sfdisk.
W celu skopiowania układu partycji z sda na sdb należy wykonać polecenie:
sfdisk -d /dev/sda | sfdisk /dev/sdb

Przetestowałem to już na dwóch serwerach i w obu przypadkach zadziałało prawie ok, za pierwszym razem musiałem użyć parametru --force, za drugim razem musiałem dodatkowo formatować partycje (dla pierwszej partycji takiej konieczności nie było, ale dla trzeciej większej format był niezbędny).

grub, jak ręcznie uruchomić Linux'a

Czasami zdarza się, że nadpiszemy MBR'a, albo coś namieszamy w ustawieniach programu rozruchowego GRUB, niezbędne jest wtedy samodzielne ręczne uruchomienie systemu.

W takich sytuacjach przydaje się płyta instalacyjna np. z CentOS'em, na pierwszym ekranie zamiast wpisać linux text wpisujemy linux rescue. Klikamy ok, ok i jeszcze kilka razy ok.
Wpisujemy chroot /mnt/sysimage i przystępujemy do instalacji grub'a za pomocą polecenia grub-install --root-directory=/boot /dev/hda

Staram się zawsze mieć założoną pierwszą partycję /boot o wielkości 521MB (większość osób może dawać mniejszą, ale ja mam tendencję do nie usuwania starych krerneli).
Obecnie katalog boot zajmuje u mnie 116 MB i jak na razie jeszcze mi do głowy nie przyszło aby go wyczyścić jeżeli macie inny układ partycji na dysku to "--root-directory=/boot" należy sobie darować.


Po zainstalowaniu należy wpisać reboot i usunąć w międzyczasie płytę z CentOS'em.

Czekamy, czekamy, czekamy i zamiast uruchomionego systemu pojawia się:
grub>
Możemy wpisać help i patrzeć na opis podstawowych poleceń, gdy ich oglądanie się już nam znudzi wpisujemy:
root (hd0,0)
i pojawia się Filesystem type is ext*fs, partition type 0x83
teraz pozostaje już tylko wybrać kernel przez polecenie:
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/hda4

Słów kilka w celu wyjaśnienia, nikt na pamięć nie zna aktualnego kernela, z którego system się uruchamia (nikt normalny), wiec wpisujemy kernel /vmlinu i dopełniamy klawiszem tab (działa dokładnie tak samo jak w bash'u), wybieramy partycję, na której jest główny system plików czyli "/" w domu mam hda4 w pracy hda3 - można się pogubić. Wciskamy enter.

Pozostaje jeszcze wpisać initrd /initrd-2.6.18-8.el5.img
tak jak to zwykle w Linux'ie bywa dopełnienie polecenia klawiszem tab działa i nie trzeba uczyć się na pamięć poszczególnych nazw.

Mamy wybranego kernela mamy initrd pozostaje jeszcze wpisać boot.

Jak już jestem przy grub'ie i chcemy uruchomić system w jakimś innym trybie np. fastboot to na ekranie wyboru kernela wciskamy c najeżdżamy na wybrany kernel, wciskamy e dopisujemy na końcu wiersza fastboot i wciskamy enter. W ten sprytny sposób uruchamiamy system bez wykonania fsck.

czwartek, 16 września 2010

/etc/init.d/named restart ... fail

Wszystko ładnie pięknie, subdomena dodana w cPanel'u, odpowiednie rekordy zmodyfikowane rndc reload i ... nic.
No to jak gdyby nigdy nic podbijam seriala i /etc/init.d/named restart i mym oczom ukazuje się FAIL.
no to cd /var/named/data i sprawdzam log od końca. Znajduję kto jako ostatni robił modyfikacje i przy jakiej domenie zanim bind się wyłożył. Przeglądam /var/named/lamer.pl.db znajduje nieprawidłowy wpis i /etc/init.d/named start i wszystko działa.
Niektórzy tak bardzo chcieliby mieć możliwość samodzielnej modyfikacji rekordów, ale nikt rozsądny takiej możliwości nie udostępni - przecież jeden błędny wpis potrafi wyłożyć bind'a, a Ty człowieku dochodź co jest nie tak.

exim czyszczenie maili z kolejki ciąg dalszy

Byłem całkiem zadowolony z siebie bo myślałem, że potrafię usuwać maile z kolejki - taki stan trwał do dzisiejszego wieczoru.
Nagios zgłosił 14 000 maili w kolejce, loguje się sprawdzam i ... okazało się, że klient wysyła mailing z innego serwera a zwrotki przychodzą na nasz serwer współdzielony.
No to zapodaje exim -bp i okazuje się, że jest tego multum i że po adresie nie przegrepuje - id wiadomości i adres odbiorczy są w dwóch wierszach.
Jakoś nie miałem koncepcji jak to wszystko wyciąć, nie wycinając przy okazji maili pozostałych klientów.
Google przyszło mi z pomocą.
Wystarczyło przejść do /var/spool/exim/input i wydać polecenie:

grep spamer@debil.com * -r | awk '{print $1}' | cut -d: -f1 | xargs rm -f -v

oczywiście na początku sprawdzacie czy poprawnie zadziała więc:
- grep spamer@debil.com * -r (sprawdzacie czy wyłapuje wiadomości przychodzące),
- grep spamer@debil.com * -r | awk '{print $1}' (sprawdzacie czy wyłapuje nazwę wiadomości + zbędne rzeczy);
- grep spamer@debil.com * -r | awk '{print $1}' | cut -d: -f1 (ustawiacie separator na dwu kropek i wyświetlacie pierwsze pole z nazwą pliku),
- grep spamer@debil.com * -r | awk '{print $1}' | cut -d: -f1 | xargs rm -f -v (finał - czyli to co lubię najbardziej exterminacja wszystkich wiadomości od spamera -v żebym widział co się dzieje).

Ogólnie rzecz biorąc powyższa metoda pomogła mi usunąć 14 000 z kolejki i 'chyba' nie usunąłem żadnej ważnej wiadomości.

poniedziałek, 13 września 2010

Bootowalny pendrive z różnymi dystrybucjami ciąg dalszy

No i okazało się, że ze stworzeniem bootowalnego pendriva z różnymi dystrybucjami nie jest wcale tak różowo.
Narzędzie dostępne na stronie http://www.pendrivelinux.com/boot-multiple-iso-from-usb-multiboot-usb/ działa poprawnie, ale ma jedną zasadniczą wadę - jest dostępne dla określonej liczby dystrybucji. Więc jeśli chcecie mieć tak jak ja bootowalnego pendriv'a z:
- CentOS netinstall i386 i amd64;
- Debian netinstall i386 i amd64;
- ubuntu server i386 i amd64
plus kilka innych dystrybucji np. HBCD, Gparded, Cdlinux, to niestety pozostaje samodzielna instalacja na pendriva i zabawa z grubem.

czwartek, 9 września 2010

Jak uruchomić Linux'a z ominięciem fsck czyli tak zwany fastboot

Zadać możecie pytanie, czemu chce uruchomić system bez fsck odpowiedzi może być kilka:
- mam wielki dysk twardy i śpieszy mi się;
- system nie chce się uruchomić po wykonaniu fsck, chce tylko skopiować dane na inny dysk.

Jest kilka dostępnych opcji uruchamiania systemu za pomocą fastboot'a ja preferuję opcję z edycją pliku grub.conf (najpierw należy uruchomić system z pendrive'a lub płyty live).
Następnie rozpocząć edycję pliku /boot/grub/grub.conf, znaleźć coś w stylu title CentOS (2.6.18-194.8.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.8.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb
initrd /initrd-2.6.18-194.8.1.el5.img

i po rhgb (czasami za rhgb jest jeszcze quiet) dodać wpis fastboot. Całość powinna wyglądać w ten sposó:

title CentOS (2.6.18-194.8.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.8.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb fastboot
initrd /initrd-2.6.18-194.8.1.el5.img

Po wprowadzeniu fastboot należy zapisać zmiany i wykonać reboot.
Po restarcie system uruchomi się bez wykonywania fsck.


Przydatnym poleceniem jest również tune2fs /dev/hdx.
Gdy wywołamy je z opcją -l uzyskamy wiele przydatnych informacji np. ile razy była podmontowana partycja i po którym razie zostanie wykonane automatycznie fsck.
Można zmienić ilość montowań po których zostanie wykonane fsck np. po 30 za pomocą polecenia tune2fs /dev/hda3 -c 30.

poniedziałek, 6 września 2010

Tworzenie bootowalnego pendriva z wieloma dystrybucjami Linux'a

Niestety jeszcze nie miałem okazji przetestować działania procedury tworzenie pendrive'a z wieloma dystrybucjami Linux'a ale opis na stronie http://www.pendrivelinux.com/boot-multiple-iso-from-usb-multiboot-usb/ zapowiada się obiecująco.
W najbliższej przyszłości postaram się go przetestować.

niedziela, 5 września 2010

Tworzenie bootowalnego pendrive'a z linux'em

Okazało się, że w związku ze zmianami w pracy bootowalny pendrive będzie niezbędny. Najczęściej wykorzystywaną dystrybucją na serwerach firmowych jest centOS, więc właśnie na tą dystrybucję padło.
Doszedłem do wniosku, że najlepiej będzie zainstalować wersję live centOS'a, ponieważ wszystkie opcję są dla mnie wówczas dostępne (linux text, rescue, tryb graficzny).
CentOS został zainstalowany na pendrive'ie corsair 8GB i muszę przyznać, że zostałem pozytywnie zaskoczony szybkością z jaką działał centOS w trybie graficznym.

Przejdźmy jednak do rzeczy bo z rana trzeba wstać :/ :
- do instalacji na pendrive'ie był potrzebny obraz live iso centOS'a i program liveusb-creator-3.9.1-setup.exe pobrany ze strony https://fedorahosted.org/releases/l/i/liveusb-creator/ (tak wiem skorzystałem z łyndowsa - nawet mi się czasami zdarza).

Cała procedura była banalnie prosta, instalacja programu liveusb-creator-3.9.1 (najnowsza wersja nie chciała współpracować z moim łynodwsem), podłączenie pendriva, umieszczenie obrazu centOS'a gdzieś na dysku, uruchomienie liveusb-creator wskazanie pliku z obrazem, wskazanie dysku, na którym obraz ma zostać zainstalowany, odczekanie około 1 minuty i 30 sekund.

Ta dam, mam bootowalnego pendriva z centOS'em.

Teraz trzeba będzie tylko rozkminić jak stworzyć bootowalnego pendriv'a z wieloma dystrybucjami ale za to zabiorę się gdy będzie więcej wolnego czasu.