W lutowym newsletterze od ovh pojawiła się propozycja testowania ich nowej usługi, nazwanej miniCloud. Jako, że lubię nowinki i jestem zadowolony z usług tej firmy, postanowiłem się zapisać do tychże testów.
Realizacja zamówienia trwała 2 dni, na testy mam kolejne 3. Co więc dostajemy w ramach miniCloud?
W moim przypadku jest to instancja z procesorem Intel Xeon o taktowaniu 2GHz, 2004MB pamięci operacyjnej (taką wartość wskazuje free -m ) oraz 5GB przestrzeni dyskowej (przy czym na ‘świeżej’ instalacji dostępne jest 4,2GB wolnego miejsca). Nie wiem, czy wartości te były dobierane losowo, czy jest to też jedna z opcji jakie będą dostępne (tylko w takim razie dlaczego tak mało przestrzeni?), w każdym razie informacji na ten temat, ani wyboru nie miałem. miniCloud działa pod kontrolą systemu linuks Debian w wersji 5.0.4 w podstawowej instalacji, z uruchomioną usługą sshd (dostajemy dostęp do roota).
Jeżeli chodzi o wydajność, jest przyzwoicie. Ping do serwerów sieci ovh poniżej jednej milisekudy, do Polski (onet) w granicach 35, więc normalne czasy jak na tego usługodawcę. Jeżeli chodzi o odczyt z dysku:
/dev/sda:
Timing cached reads: 8024 MB in 2.00 seconds = 4013.57 MB/sec
Timing buffered disk reads: 136 MB in 3.03 seconds = 44.92 MB/sec
Ciekaw jestem jak będzie z ceną za tą usługę, ale podejrzewam, że tanio nie będzie znając ceny usług OVH. Jeżeli będą naliczać opłaty za godziny działania (jak ma to miejsce w przypadku Amazon EC2) i będzie to w groszach, czy nawet złotówkach, może opłacać się przy potrzebie wykorzystania mocy obliczeniowej na krótką metę (aczkolwiek 2GHz to szczyt nie jest). Na chwilę obecną nie widzę kompletnie zastosowania dla tej usługi, mam jednak nadzieję, że ktoś wpadnie na pomysł jak rozsądnie to wykorzystać.
Na dzień dzisiejszy napisać więcej nie mogę, po dłuższym czasie napiszę wnioski ze stabilności usługi (należy pamiętać, że to wciąż beta) przy pracy z czymś obciążającym instancję.
Podczas mojej codziennej pracy wyniknął pewien problem – musiałem przydzielić publiczne IP dla maszyny za NAT’em. Problemem była kwestia JAK to zrobić. Początkowo miałem problem ze sformułowaniem odpowiedniego zapytania dla google, po chwili jednak wpadłem na pomysł, żeby zapytać o „NAT 1:1″. Podsuwam więc solucję dla takiego rozwiązania, gdyby ktoś miał w przyszłości podobny problem:
ifconfig $dev:2 $zewip broadcast $brd netmask $mask up
/usr/sbin/iptables -t nat -I PREROUTING -s 0/0 -d $zewip -j DNAT --to $wewip
/usr/sbin/iptables -t nat -I POSTROUTING -s $wewip -d 0/0 -j SNAT --to $zewip
/usr/sbin/iptables -I FORWARD -d $zewip -j ACCEPT
/usr/sbin/iptables -I FORWARD -s $wewip -j ACCEPT
/usr/sbin/iptables -I FORWARD -d $wewip -j ACCEPT
/usr/sbin/iptables -I INPUT -d $zewip -j ACCEPT
Gdzie $dev to interfejs zewnętrzny, reszta chyba nie wymaga komentarza. Mam nadzieję, że komuś tym pomogę.
Mając w swojej sieci LAN kilka maszyn działających pod kontrolą gentoo, dobrym rozwiązaniem jest stworzenie sobie lokalnej kopii lustrzanej drzewa portage (pozwala zaoszczędzić trochę transferu). Mając jednocześnie serwer/router oparty na gentoo sprawa mocno się upraszcza.
W /etc/rsyncd.conf wystarczy odkomentować linie począwszy od [gentoo-portage] i uruchomić serwer poleceniem /etc/init.d/rsyncd start, oraz dodać do domyślnego runlevela: rc-update add rsyncd default
Co jednak jeżeli mamy np debiana? Tu trzeba sobie trochę pomóc: doinstalowujemy demona rsyncd (w debianie: aptitude install rsync) oraz dopisać do konfigu jak następuje (/etc/rsyncd.conf) :
[gentoo-portage]
#modern versions of portage use this entry
path = /home/rsync
comment = Gentoo Linux Portage tree mirror
gdzie path to ściezka do repozytorium, które synchronizujemy sobie następującym skryptem:
#!/bin/bash
RSYNC="/usr/bin/rsync"
OPTS="--quiet --recursive --links --perms --times -D --delete --timeout=300"
#Uncomment the following line only if you have been granted access to rsync1.us.gentoo.org
#SRC="rsync://rsync1.us.gentoo.org/gentoo-portage"
#If you are waiting for access to our master mirror, select one of our mirrors to mirror from:
SRC="rsync://rsync.de.gentoo.org/gentoo-portage"
DST="/home/rsync/"
echo "Started update at" `date` >> $0.log 2>&1
logger -t rsync "re-rsyncing the gentoo-portage tree"
${RSYNC} ${OPTS} ${SRC} ${DST} >> $0.log 2>&1
echo "End: "`date` >> $0.log 2>&1
Skrypcik wystarczy wrzucić do crona co powiedzmy 12h i maszyny w LANie pracujące pod gentoo mogą synchronizować się z nazzym własnym mirrorem. w make.conf zmienna SYN powinna wyglądać podobnie:
SYNC="rsync://192.168.0.1/gentoo-portage"
feedback mile widziany.
Jako wielki miłośnik systemów Open Source, staram się ich używać w jak najszerszych zastosowaniach (co nie znaczy, że uważam, że nadają się do wszystkiego, bo póki co tak nie jest [ stety, niestety - kwestia sporna] ).
Używam zatem takowych systemów na wszystkich domowych komputerach (o serwerach chyba wspominać nie muszę)
W 3 przypadkach jest to gentoo linux – bo jest fajny, bo lubię, bo tak. Przy keywordzie x86 nie ma jakoś szczególnie dużo aktualizacji, a ~x86 występuje tylko na notebooku, który jest w zasadzie maszyną do testowania wszelakiej maści softu (oraz oczywiście codziennej pracy). No i jest jeszcze czwarta maszyna, która działa pod kontrolą FreeBSD i na tym chcę się skupić. Czytaj więcej…
Mój odwieczny problem, gdy trzeba zamówić/postawić nowy serwer. Najczęściej pada odpowiedź „Debian.” Ostatnio jednak podczas sporych problemów z wydajnością (głównie apache i php), używanie dystrybucyjnych paczek może okazać się zabójcze dla serwera. Masa zależności nie do końca potrzebnych, kompilacja bez optymalizacji dla naszego procesora, często kompilacja z niepotrzebnymi opcjami. To wszystko ma wpływ na wydajność (mówimy o serwisie, który posiada ~30mln odsłon miesięcznie). W dodatku osobiście jestem miłośnikiem dystrybucji gentoo… Czytaj więcej…
Jakiś już czas temu, przeglądając feedy w swoim GReaderze, trafiłem gdzieś (prawdopodobnie na diggu) na artykuł dotyczący oprogramowania media center, zorientowanych wokół Open Source. Przeklikałem się przez kilka stron, aż trafiłem na stronę Boxee. Chcąc przetestować funkcjonalność oferowaną przez ten serwis, postanowiłem się zarejestrować. Czytaj więcej…