piątek luty 27, 2009
- All
- Linki
- OpenSolaris
- SUN Solaris
- virtualization - EN
- Wirtualizacja - PL
virtualbox i share file
Gdy będziemy chcieli wykorzystać w VirtualBoksa funkcjonalność snapshotów ZFS należy wykonać odpowiedni tri. Jest to związane z tym, że tego że pliki w których są przechowywane obrazy dysków naszych systemów gości są zapisane UUID i niestety nie można mieć w VirtualBoksie dwóch plików o tym samym UUIDzie. Jak temu zapobiec ?
Po wykonany snapshota należy użyć poniższej komendy:
bash# /opt/VirtualBox/VBoxManage internalcommands sethduuid `pwd`/disk.vdi
Spowoduje ona nadanie nowego UUIDa dla pliku.
Posted at 09:43PM lut 27, 2009 by Maciej Browarski in OpenSolaris | Comments[0]
opensolaris 2008.11 już jest
Pewnie już wszyscy wiedzą, że OpenSolaris 2008.11 już wylądował.
Coś więcej o nim można poczytać tutaj.
Jakby ktoś by go chciał ściągnąć, wystarczy wejść tutaj.
Z mojej strony mogę dorzuci, że zapraszam do instalacji i testowania.
Zapraszam również do odwiedzenia Polskiej strony o OpenSolarisie.
Jak ktoś ma ochotę odwiedzenia Nas na IRCu (dla młodszy, IRC to takie Internetowe Pogaduszki),
to należy wejść na kanał #opensolaris-pl na serwerze irc.freenode.org.
Posted at 10:57AM gru 11, 2008 by Maciej Browarski in OpenSolaris | Comments[0]
e220 pod opensolarisem
Jestem "szczęśliwym" posiadaczem iPlusa z modem USB Huawei E220 :). Firma Plus dostarczyła oczywiście oprogramowanie tyko pod Windowsy 32bitowe (konia z rzędu temu, komu uda się to uruchomić pod 64bitową Vistą), a jak mamy prawdziwy 64bitowy system operacyjny OpenSolaris? (ja używam Nevada b102)
Procedura też powinna działać dla Era Blueconnect (dostawca internetu jest inny, ale chyba parametery te same).
Najpierw należy taki modem zarejstrować pod sterownikiem usb modem, robi się to tak:
1. Podłączamy modem do łącza USB.
2. Wykonujemy:
-bash# lshal | less
usb_device.product_id = 4097 (0x1001) (int)
usb_device.vendor_id = 4817 (0x12d1) (int)
usb_device.vendor = 'HUAWEI Technologies' (string)
usb_device.product = 'HUAWEI Mobile' (string)
3. Wyszukujemy tak HUAWEI technologii i patrzymy do vendor_id i product_id (interesują nas wartości hexydecymalne, u mnie to 0x12d1 i 0x1001)
4. Rejestrujemy urządzenie pod sterownikiem usbsacm
-bash# update_drv -a -i 'usb12d1,1001' usbsacm
5. Po tym tworzymy urządzenia które będą obsługiwać modem:
-bash# devfsadm
6. sprawdzamy czy modem działa:
-bash# tip /dev/term/0
ATZ
+OK
ATI
Manufacturer: huawei
Model: E220
Revision: 11.116.04.01.69
IMEI: 351827438125857
+GCAP: +CGSM,+DS,+ES
+OK
7. Wychodzimy z tip'a przez ~. (
Już mamy podłączony modem, to teraz dzwonienie do iPlus (jeżeli posiadamy inny modem, np. na PCIMCIA, dalsze procedura też powinna być poprawna).
Przed dalszymi pracami należy wyłączyć PIN na karcie SIM,np. przekładając kartę do telefonu i tam wyłączamy pytanie o PIN. (albo dopisujemy AT+CPIN=$PIN do skryptu 3netchat)
Jak wygląda procedura postępowania:
1. wyłączamy wszystkie procesory i core tak aby został nam tylko jeden core na pierwszym procesorze (wynika to z błędu w pppd)
2. uruchamiamy pppd. Na początku działania pppd uruchamia chat, który jest odpowiedzialny za dzwonienie przez modem
3. jak połączenie zostanie nawiązane pppd włącza interfejs sppp0 i go odpowiednio skonfiguruje (w naszym przypadku ustawia adres, jaki przysle nam IPlus)
4. przegrywamy plik /etc/ppp/resolv.conf, który jest tworzony po poprawnym połączeniu) do /etc/resolv.conf (tak aby mieć zapewnione serwery DNSów z iPlusa)
5. Można już się bawić Internetem na OpenSolarisiem.
OK, a teraz pliki, które zautomatyzują mam trochę ten proces:
1. Najpierw tworzymy skrypt, którym będziemy uruchamiać resztę skryptów:
bash# cat /bin/iplus
psradm -f 1
pppd call 3netconnect debug
psradm -n 1
2. Tworzymy plik /etc/ppp/peers/3netconnect:
-bash# /etc/ppp/peers/3netconnect
refuse-chap
nodetach
460800
/dev/term/0
crtscts
noipdefault
holdoff 1
noauth
asyncmap 00000000
passive
defaultroute
usepeerdns
noccp
novj
lcp-echo-interval 0
connect '/usr/bin/chat -V -t15 -f /etc/ppp/3netchat'
3. Tworzymy plik /etc/ppp/3netchat, odpowiedzialny za komunikacje z modemem iPlus (dzwonienie):
-bash# cat /etc/ppp/3netchat
ABORT BUSY
ABORT ERROR
ABORT 'NO ANSWER'
ABORT 'NO CARRIER'
'' ATZ
OK 'ATDT *99#'
CONNECT '\d\c'
(! Uwaga, te apostrofy są spod klawisza, gdzie jest podwójny apostrof ", nie spod tyldy ~ !)
4. Nadajemy uprawnienia dla /bin/iplus
-bash# chmod a+x /bin/iplus
5. Uruchamiamy go:
-bash# /bin/iplus
serial speed set to 460800 bps
connect option: '/usr/bin/chat -V -t15 -f /etc/ppp/3netchat' started (pid 1270)
ATZ
OK
ATDT *99#
CONNECTSerial connection established.
serial speed set to 460800 bps
Using interface sppp0
Connect: sppp0 <--> /dev/term/0
/etc/ppp/pap-secrets is apparently empty
/etc/ppp/chap-secrets is apparently empty
sent [LCP ConfReq id=0x22
rcvd [LCP ConfReq id=0x0
sent [LCP Ident id=0x23 magic=0x0 "ppp-2.4.0b1 (Sun Microsystems, Inc.)"]
sent [LCP ConfRej id=0x0
rcvd [LCP ConfAck id=0x22
rcvd [LCP ConfReq id=0x1
sent [LCP ConfAck id=0x1
sent [LCP Ident id=0x24 magic=0x56c50c5c "ppp-2.4.0b1 (Sun Microsystems, Inc.)"]
sent [IPCP ConfReq id=0x80
rcvd [LCP DiscReq id=0x2 magic=0xc952af]
rcvd [IPCP ConfNak id=0x80
sent [IPCP ConfReq id=0x81
rcvd [IPCP ConfReq id=0x0]
sent [IPCP ConfNak id=0x0
rcvd [IPCP ConfNak id=0x81
sent [IPCP ConfReq id=0x82
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfAck id=0x1]
rcvd [IPCP ConfAck id=0x82
Peer refused to provide his address; assuming 192.168.1.1
local IP address 77.115.152.227
remote IP address 192.168.1.1
primary DNS address 212.2.96.51
secondary DNS address 212.2.96.52
Tak wygląda poprawna sesja z iPlusem.
Może się zdarzyć, że podczas pierwszego łączenia będzie prośba o autentykacje CHAP, wynika to z faktu, że modem jeszcze jest w fazie logowania do sieci, należy wtedy przerwać łączenie, poczekać chwile i ponowić próbę.
Dla ciekawskich:
Spis komend dla modemu e220
at+clac <- spis komend obsługiwanych przez modem (u mnie jest COMMAND NOT SUPPORT)
Wymuszanie prędkości dla modemu (testowane, i chyba działa :)):
# GPRS/EDGE Preferred
AT^SYSCFG=2,1,3FFFFFFF,1,2
# 3G Preferred
AT^SYSCFG=2,2,3FFFFFFF,1,2
# GPRS/EDGE Only
AT^SYSCFG=13,1,3FFFFFFF,1,2
# 3G Only
AT^SYSCFG=14,2,3FFFFFFF,1,2
Aby z tego skorzystać, trzeba dokładnie dopisać:
AT\^SYSCFG=14,2,3FFFFFFF,1,2
do pliku /etc/ppp/3netchat
Posted at 11:14AM lis 09, 2008 by Maciej Browarski in OpenSolaris | Comments[5]
postgreSQL pierwsze kroki
Utworzenie katalogu, gdzie będą przechowywane pliki bazy danych:
bash# mkdir /db_file
bash# chown postgres /db_file
Rekonfiguracja postgresql, aby wiedział gdzie jest miejsce na składowanie danych:
bash# svccfg -s svc:/application/database/postgresql:version_82 setprop postgresql/data = /db_file
bash# svcadm refresh postgresql:version_82
bash# svcprop postgresql:version_82 | grep data
uruchomienie bazy:
bash# svcadm enable postgresql:version_82
Baza powinna się sama zainicjalizować, jeżeli nie, to należy wykonać poniższą komendę:
postgres$ /usr/postgres/8.2/bin/initdb -E=iso-8859-2 /db_file
Z konta postgres tworzymy bazę danych:
postgres$ /usr/postgres/8.2/bin/amd64/createdb -E ISO-8859-2 baza
Zmiana w postgre.conf aby użytkownicy mogli logować się z sieci
listen_addresses = '*'
Dopisać do pga_hba.conf aby mogli się łączyć z sieci (np. pgadmin3):
host all all 172.16.137.0/24 trust
Dodatkowe rzeczy to:
Ręczne uruchomienie bazy danych
postgres$ /usr/postgres/8.2/bin/amd64/postmaster -D /db_file
Utworzenie konta na bazie danych, który będzie się mógł do niej zalogować:
postgres$ psql
browar=# create role maciej;
CREATE ROLE
browar=# alter role maciej login;
ALTER ROLE
browar=# alter role maciej password 'maciej123';
ALTER ROLE
Posted at 04:27PM cze 26, 2008 by Maciej Browarski in OpenSolaris | Comments[0]
sun studio kompilowanie opensolaris
Jak wiadomo, można pobrać wersje źródłową OpenSolaris i sobie samemu zbudować dystrybucje.
Napisze w paru krokach jak to zrobić.
Pełna instrukcja po angielsku znajduje się tutaj.
Pobranie potrzebnych rzeczy.
Na początku potrzebujemy SUN Studio 11.
Potrzebujemy również linkera i assemblera (pakiety SUNWtoo, SUNWsprot).
W tym miejscu są rzeczy, które Nam będą również potrzebne do pracy (np. SUNWonbld).
Następnie pobieramy OpenSolaris wersje ON. Ja używam repozytorium Mercurial, a więc będąc w katalogu /export/source/ wykonuje komendę:
bash# hg clone ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate
Czas na instalację.
Najpierw instalujemy Kompilator Sun Studio, rozpakowywujemy i uruchamiamy polecenie:
bash# ./installer
Zgadzamy się na wszystkie zadawane pytania. (hehe, prawie jak w MS Windows NEXT :))
Następnie to zmiennej środowiskowej PATH dopisujemy na początek: /opt/SUNWspro/bin i /opt/onbld/bin
bash# export PATH=/opt/SUNWspro/bin:/opt/onbld/bin:$PATH
Przegrywamy plik opensolaris.sh z /export/source/usr/src/env/opensoalris.sh do /export/source/
poprawiamy plik i uruchamiamy:
bash# nightly ./opensolaris.sh
I idziemy na obiad i wracamy po kolacji :).
Gdy chcemy skompilować tylko jakąś komendę, robimy:
bash# cd /export/source
bash# bldev -d ./opensolaris.sh
bash# cd usr/src/cmd/cat
bash# dmake all
bash# make install
bash# make install_h (jeżeli chcemy instalować pliki nagłówkowe)
Posted at 04:29PM sty 22, 2008 by Maciej Browarski in OpenSolaris | Comments[0]
Sięganie do źródeł OpenSolaris
Jak wiemy, BrandZ jest technologią, która pozwala na uruchomienie kodu skompilowanego pod Linuksem w środowisku Solaris i OpenSolaris.
Polega ona na uruchamianiu programów Linuksowych w normalny sposób, ponieważ ich kod binarny jest normalnie przetwarzany i działa on bez problemów (w końcu instrukcje procesora INTEL/AMD są takie same, bez względu na to jaki system operacyjny jest na nim uruchomiony). Jedyną różnicą są odwołania do funkcji systemowych jądra systemu operacyjnego.
Dlatego tajemnica technologii BrandZ tkwi w przechwyceniu wywołań funkcji systemowych Linuksa i albo wykonaniu ich bezpośrednio na Solarisie(np. funkcje open, write, close są takie same dla obydwóch systemów) albo wykonaniu ich w emulacji. Dokładnie o tym można poczytać tutaj.
Aby zobaczyć, które funkcje są przekazywane dalej do OpenSolarisa, a które emulowane, można podejrzeć w
pliku źródłowym w strukturze sysents.
Gorąco polecam!!
Posted at 02:45PM wrz 27, 2007 by Maciej Browarski in OpenSolaris | Comments[0]
OpenSolaris XEN - test
Mając do dyspozycji serwer X4100 z procesorami Dual-Core AMD Opteron(tm) Processor 2220, które to wspierają sprzętową wirtualizację, można pokusić się o przeprowadzenie testów wirtualizacji za pomocą XEN.
Wersję OpenSolaris z XEN można pobrać z domowej strony projektu.
Instalacja przebiega bezproblemowo i po restarcie mamy już gotową maszynę do testów.
Po skonfigurowaniu wirtualnej maszyny (wspierając się tą stroną), został tam zainstalowany Linux Debian 4.0 etch.
Test podzieliliśmy na 4 etapy:
1. uruchomienie programu obciążającego procesor w 100%,
2. uruchomienie 16 programów obciążających procesor w 100%,
3. pobranie 40MB pliku ze strony www,
4. pobranie równolegle szesnastu 40 MB plików ze strony www.
Oto wyniki z czystego OpenSolarisa bez XEN (4 logiczne procesory):
1. 43 sekundy
2. 2 minuty 53 sekundy
3. 12 sekund
4. 1 minuta 50 sekund
dom0 (domena kontrolująca, 4 logiczne procesory):
1. 43 sekundy
2. 2 minuty 56 sekund
3. 12 sekund
4. 1 minuta 39 sekund
Wyniki z domU (4 wirtualne procesory 1GB pamięci):
1. 43 sekundy
2. 2 minuty 52 sekundy
3. 27 sekund
4. 3 minuty 10 sekund
Wyniki z domU-1 i domU-2 (uruchomione równolegle 2 domen i 2 testów):
domU-1:
1. 43 sekundy
2. 5 minut 45 sekund
3. 43 sekundy
4. 5 minut 40 sekund
domU-2:
1. 43 sekundy
2. 5 minut 45 sekund
3. 40 sekundy
4. 5 minut 41 sekundy
Podsumowanie testów:
Podanego wyżej czasu nie powinniśmy traktować dokładnie, lecz należy przyjrzeć się proporcjom liczb, które ukazują Nam jakie właściwości daje sprzętowa wirtualizacja za pomocą XEN.
Jak widać z testów, wydajność procesorów jest taka sama, co może oznaczać, że XEN dodatkowo nie obciąża maszyny, a moc jest równomiernie rozdzielana. Niestety problem z wydajnością widać przy operacjach I/O. Tutaj widać narzut XEN na urządzenia. Trzeba pamiętać, że sieć i dyski są emulowane.
Kolejną rzeczą, to że DomU-1 i DomU-2 korzystało z jednej fizycznej karty sieciowej, także ich wydajność została podzielona na dwa równoległe strumienie.
Dlatego przy wirtualizacji trzeba pamiętać o dobrym Capacity Planningu bo maszyny fizyczne i ich zasoby nie są z gumy i łatwiej jest o skonsumowaniu całych zasobów.
Posted at 10:07AM wrz 11, 2007 by Maciej Browarski in OpenSolaris | Comments[0]
XEN - domain0
Na liście dyskusyjnej xen-devel pojawił się list:
I have a question which may sound stupid.
Is the dom0 mainly responsible for administration of other VMs?
If a PC only needs running HVM and doesn't need any administration, is
it possible that Xen doesn't start dom0 but setup VM environment and
start-up HVM image?
A oto odpowiedz:
dom0 manages I/O devices (network, disk, video, ...) and also runs support
services (driver backends, device emulation) for PV and HVM guests. A Xen
system will definitely not work without dom0.
-- Keir
XEN może mieć różny system kontrolujący (Linux, OpenSolaris) więc jego samego można nazwać systemem operacyjnym, bo nie jest od nikogo bezpośrednio zależny.
Choć tak naprawdę dochodzimy to momentu, kiedy trzeba dokładnie zdefiniować, czym jest system operacyjny.
Posted at 11:05PM wrz 07, 2007 by Maciej Browarski in OpenSolaris | Comments[0]