Default style (Cherry Eve). Switch styles (Capricorn). Atom Feed Calendar
http://blogs.sun.com/mbrowarski/date/20090227 piątek luty 27, 2009

Ostatni dzień

Dziś minął ostatni dzień mojej pracy w Sun Microsystems Polska.
Dla zainteresowanych kontaktem ze mną zapraszam na kanał #opensolaris-pl na irc.freenode.net.

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.

http://blogs.sun.com/mbrowarski/date/20090210 wtorek luty 10, 2009

privsnz

Jeżeli chcemy utworzyć ZONE, która nie będzie zone native (instalowanie pakietów z ZONE GLOBAL, późniejsza "opieka" pakietami) ale będzie bardziej niezależną strefą, można posłużyć się poniższą instrukcją:
w wersji angielskiej można opis znaleźć tutaj
1. Utworzenie nowego Brandu.
# mkdir /usr/lib/brand/privsnz
# cp -r /usr/lib/brand/native/* /usr/lib/brand/privsnz

2. Utworzenie template SUNWprivsnz
#cp /etc/zones/SUNWblank.xml to /etc/zones/SUNWprivsnz

i zmień:
<zone name="blank" zonepath="" autoboot="false">
na
<zone name="blank" zonepath="" autoboot="false" brand="privsnz">

3. Zmiana w plikach brand
Wyedutuj plik/usr/lib/brand/privsnz/config.xml

Zmień
<brand name="native">
(install>/usr/lib/lu/lucreatezone -z %z(/install>
na
<brand name="privsnz">
<install>/usr/lib/brand/privsnz/priv_install %z %R %*</install>
<boot>/usr/lib/brand/privsnz/priv_boot %z %R</boot>
<halt>/usr/lib/brand/privsnz/priv_halt %z %R</halt>


4. Utwórz teraz 3 pliki
cat <<EOF > /usr/lib/brand/privsnz/priv_install
#!/bin/bash
# %z zonename %R zone root %* rest of params

exit 0
EOF

# chmod 0755 /usr/lib/brand/privsnz/priv_install

# cat <<EOF > /usr/lib/brand/privsnz/priv_boot
#!/bin/sh
# %z zonename %R zone root

exit 0
EOF

chmod 0755 /usr/lib/brand/privsnz/priv_boot

cat <<EOF > /usr/lib/brand/privsnz/priv_halt
#!/bin/sh
# %z zonename %R zone root

exit 0
EOF

chmod 0755 /usr/lib/brand/privsnz/priv_halt

5. Skonfiguruj nowa ZONE
#zonecfg -z new
new> create -t SUNWprivsnz
new> set zonepath=/zone/chroot/bash

6. Zainstaluj ją (nie spowoduje to przegrania plików z zony globalnej, jedynie zmieni status z configure na install):
zoneadm -z new install

7. Wgraj do niej pliki instalacyjne:
#!/bin/sh
CHROOT=/zone/chroot/bash/root
CDROM=/zone/iso/cdrom/Solaris_10/Product

pkgadd -R $CHROOT -d $CDROM SUNWkvm.i SUNWcsr SUNWcsu SUNWcar.i SUNWckr SUNWcnetr SUNWcakr.i SUNWcsl SUNWcsd SUNWcslr SUNWbash

I w ten sposób mamy zone z Solarisem 10, który ma tylko zainstalowanego basha.

http://blogs.sun.com/mbrowarski/date/20081211 czwartek grudzień 11, 2008

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.

http://blogs.sun.com/mbrowarski/date/20081202 wtorek grudzień 02, 2008

ssh w solaris 10

Jeżeli spotkał Was taki błąd jak poniżej:
-bash-3.00$ ssh -v -l root solaris.sun.com
Sun_SSH_1.1, SSH protocols 1.5/2.0, OpenSSL 0x0090704f
debug1: Reading configuration data /export/home/bob/.ssh/config
debug1: Applying options for m5000-2-xscf.sunsolutioncenter.de
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug1: ssh_connect: needpriv 0
debug1: Executing proxy command: exec /usr/lib/ssh/ssh-http-proxy-connect -h proxy.sun.com -p 8080 solaris.sun.com 22
debug1: identity file /export/home/bob/.ssh/identity type -1
debug1: identity file /export/home/bob/.ssh/id_rsa type -1
debug1: identity file /export/home/bob/.ssh/id_dsa type -1
HTTP/1.1 400 Bad Request
ssh_exchange_identification: Connection closed by remote host
debug1: Calling cleanup 0x341a8(0x0)

Oznacza to, że ssh-http-proxy-connect posługuje się protokołem HTTP/1.1 zamiast HTTP/1.0.
Żeby poprawić ten błąd, należy nałożyć mały patch na /usr/lib/ssh/ssh-http-proxy-connect:
Robimy to tak:
-bash# cp ssh-http-proxy-connect ssh-http-proxy-connect.orig
-bash# cat ssh-http-proxy-connect.orig | perl -npe "s|HTTP/1.1|HTTP/1.0|g" > ssh-http-proxy-connect

I już wszystko powinno działać.

http://blogs.sun.com/mbrowarski/date/20081124 poniedziałek listopad 24, 2008

blueconnect w opensolaris

Właśnie mam sposobność podłączenia się do Internetu za pomocą karty Era Blue Connect merlin xu870. Jest to karta na złącze Express, ale posiadając odpowiednią przejściówkę, mogę te kartę podłączyć za pomocą złącza USB.
Tak jak się spodziewałem, Opensolaris (Build b102) nie rozpoznał karty, tylko napisał w logach:
Nov 24 10:11:29 laptop usba: [ID 912658 kern.info] USB 1.10 device (usb1410,1430) operating at full speed (USB 1.x) on USB 1.10 root hub: device@1, usb_mid2 at bus address 3
Nov 24 10:11:29 laptop usba: [ID 349649 kern.info] Novatel Wireless HSDPA Modem 011057006723631
Nov 24 10:11:29 laptop genunix: [ID 936769 kern.info] usb_mid2 is /pci@0,0/pci1043,1447@1d,2/device@1
Nov 24 10:11:29 laptop genunix: [ID 408114 kern.info] /pci@0,0/pci1043,1447@1d,2/device@1 (usb_mid2) online
Nov 24 10:11:29 laptop usba: [ID 349649 kern.info] usba: no driver found for interface 0 (nodename: 'interface') of Novatel Wireless HSDPA Modem 011057006723631
Nov 24 10:11:29 laptop usba: [ID 349649 kern.info] usba: no driver found for interface 1 (nodename: 'interface') of Novatel Wireless HSDPA Modem 011057006723631

Ale mając już doświadczenie z iPlusa, zrobiłem:
-bash# lshal | less
Wyszukałem modem i zapisałem sobie jego product_id i vendor_id (odpowiednio in hex:1430, 1410).
Wykonałem komendę:
-bash# update_drv -a -i 'usb1410,1430' usbsacm

Teraz już tylko sprawdzić czy komunikacja jest OK:
-bash# tip /dev/term/0
connected
atz
OK
ati
Manufacturer: Novatel Wireless Incorporated
Model: Merlin XU870 ExpressCard
Revision: 101.9.00.0-03 [2007-08-09 17:18:36]
IMEI: 011057116754876
+GCAP: +CGSM,+DS,+ES

OK
~
[EOT]
Jeżeli powyższe komendy udały się, to możemy kontynuować konfigurację tak jak to już opisałem dla iPlusa.

http://blogs.sun.com/mbrowarski/date/20081118 wtorek listopad 18, 2008

wifi connect

Moja karta sieciowa wpi0 obsługuje już szyfrowanie wpa2 i można się podłączać to tak zabezpieczonych sieci.
Robimy to tak:
1. Najpierw wprowadzamy klucz wpa2 i zapisujemy go pod nazwa np. skey.
-bash# dladm create-secobj -c wpa skey
provide value for 'skey': **************************
confirm value for 'skey': **************************

2. Przeszukujemy sieć WiFi.
-bash# dladm scan-wifi

LINK
ESSID
BSSID/IBSSID
SEC
STRENGTH
MODE
SPEED
wpi0
WiFi_DOM
0:1a:92:ee:70:ed
wpa
very good
g
54Mb

3. Włączamy interfejs sieciowy.
-bash# ifconfig wpi0 plumb

4. Łączymy się po WiFi:
-bash# dladm connect-wifi -e WiFi_DOM -k skey wpi0

5. Uruchamiamy DHCP:
-bash# ifconfig wpi0 dhcp

I już można cieszyć się połączeniem :).

http://blogs.sun.com/mbrowarski/date/20081109 niedziela listopad 09, 2008

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 ~. ( tylda kropka)

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

http://blogs.sun.com/mbrowarski/date/20080906 sobota wrzesień 06, 2008

Instalowanie Oracle w Zonie Solaris

Na początku standardowo instalujemy Zone:
# zonecfg -z oracle
oracle: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:oracle> create
zonecfg:oracle> set zonepath=/zones/oracle

Dodajemy sieć:
zonecfg:oracle> add net
zonecfg:oracle:net>
zonecfg:oracle:net> set address=10.0.0.10/24
zonecfg:oracle:net> set physical=rtls0
zonecfg:oracle:net> end
Dodajemy limity dla całej Zony:
zonecfg:oracle> set max-shm-memory=4g
zonecfg:oracle> set max-sem-ids=256
zonecfg:oracle> set max-shm-ids=100
zonecfg:oracle> set max-sem-ids=100
zonecfg:oracle> exit

I instalujemy Zone w systemie:
# zoneadm -z oracle install
Preparing to install zone .
Creating list of files to copy from the global zone.
Copying <2464> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1038> packages on the zone.
Initialized <1038> packages on zone.
Zone is initialized.
The file contains a log of the zone installation.

Uruchamiamy ZONE.
bash# zoneadm -z oracle boot
I logujemy sie na konsole.
bash# zlogin -C oracle
Odpowiadamy na parę pytań tak aby dokończyć poprawnie instalacje.
Po zakończeniu instalacji ZONE logujemy się do niej i zakładamy odpowiednią grupę i użytkownika.
bash# groupadd oinstall
bash# groupadd dba
bash# useradd -g oinstall -G dba oracle
Następnie tworzymy w ZONE plik /etc/system i wpisujemy w nim tylko:
set noexec_user_stack=1
Reszta parameterów wymaganych przypisujemy za pomocą Projektów.Czyli w ZONE oracle w pliku /etc/project zwiększamy limit na pamięć dzieloną (inne parametry wymagane przez Oracle już są na odpowiednim poziomie).
Robimy to przez zalogowanie się w zonie i wydanie komendy:
projmod -sK "project.max-shm-memory=(privileged,2G,deny)" default(zmiana w projekcie,permanentna, ale wymaga restartu)
prctl -n project.max-shm-memory -v 6gb -r -i project default (zmiana dynamiczne)
p.s. Inne parametry możemy dynamicznie zmieniać w poniższy sposób:
prctl -n project.max-sem-ids -v 100 -r -i project default
prctl -n proces.max-sem-nsems -v 256 -r -i project default
prctl -n project.max-shm-ids -v 100 -r -i project default
I możemy zacząć instalować Oracle.
szczegóły na:
oracle

http://blogs.sun.com/mbrowarski/date/20080626 czwartek czerwiec 26, 2008

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

http://blogs.sun.com/mbrowarski/date/20080623 poniedziałek czerwiec 23, 2008

link warty zapamietania

http://blogs.sun.com/narayan/resource/docs/vio_failover_steps.html

http://blogs.sun.com/mbrowarski/date/20080407 poniedziałek kwiecień 07, 2008

opensolaris nevada 85 ldoms 1.0.2

Poniżej przedstawiam dwa skrypty, które pomagają mi w skonfigurowaniu domen na maszynach T2000 i T5120:
1. Skrypt tworzy domenę zarządzającą:

LDM=/opt/SUNWldm/bin/ldm
PDISK=primary-vds0
PCON=primary-vcc0
PSW=primary-vsw0

$LDM add-vds $PDISK primary
$LDM add-vcc port-range=5000-5100 $PCON primary
$LDM add-vsw net-dev=e1000g0 $PSW primary

$LDM set-mau 1 primary
$LDM set-vcpu 4 primary
$LDM set-memory 1024m primary

$LDM add-spconfig initial
$LDM list-spconfig

Po tym należy wykonać restart maszyny, czyli:
bash# init 6
Następnie trzeba uruchomić usługe
bash# svcadm enable vntsd

A potem ustawić odpowiednio skrypt:

LDM=/opt/SUNWldm/bin/ldm
PDISK=primary-vds0
PCON=primary-vcc0
PSW=primary-vsw0
TNAME=ldoms1

$LDM add-domain $TNAME

# Przydzielamy procesory (tu ilosc watkow):
$LDM add-vcpu 4 $TNAME
# Dorzucamy pamiec:
$LDM add-memory 1G $TNAME
# Przypinamy do wirtualnego switcha
$LDM add-vnet vnet1 $PSW $TNAME
# Dorzucamy fizyczny dysk to poli dyskow:
$LDM add-vdsdev /ldoms/test1/disk.raw vol1@$PDISK
# Dorzucamy CD-ROM (obraz ISO)
$LDM add-vdsdev /ldoms/iso/sol-nv85-sparc.iso vol2@$PDISK

# I ta pule przydzielamy do domeny
$LDM add-vdisk vdisk1 vol1@$PDISK $TNAME
$LDM add-vdisk cdrom vol2@$PDISK $TNAME

# Ustawiamy eeprom, aby na razie domena nie startowa?a automatycznie:
$LDM set-variable auto-boot\?=false $TNAME

# bash-3.00# ldm set-variable boot-device=/virtual-devices\@100/channel-devices200/disk\@0 tdomena

$LDM bind-domain $TNAME

Zwracam uwagę, że w najnowszych Nevadach (od build 77) można domene logiczną ładować z płyty ISO, co strasznie ułatwia zadanie instalacji (oczywiście opcja z JumpStartu pozostaje dalej :) ).
Teraz już wystarczy uruchomić domenę logiczną:

# /opt/SUNWldm/bin/ldm start ldoms1
LDom ldoms1 started
# telnet 0 5000
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.


Connecting to console "ldoms1" in group "ldoms1" ....
Press ~? for control options ..


Sun Fire T200, No Keyboard
Copyright 2007 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.27.7, 1024 MB memory available, Serial #66659223.
Ethernet address 0:14:4f:f9:23:97, Host ID: 83f92397.



{0} ok devalias
cdrom /virtual-devices@100/channel-devices@200/disk@1
vdisk1 /virtual-devices@100/channel-devices@200/disk@0
vnet1 /virtual-devices@100/channel-devices@200/network@0
net /virtual-devices@100/channel-devices@200/network@0
disk /virtual-devices@100/channel-devices@200/disk@0
virtual-console /virtual-devices/console@1
name aliases
{0} ok boot /virtual-devices@100/channel-devices@200/disk@1:f


Boot device: /virtual-devices@100/channel-devices@200/disk@1:f File and args:
SunOS Release 5.11 Version snv_85 64-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Configuring /dev


http://blogs.sun.com/mbrowarski/date/20080208 piątek luty 08, 2008

XEN zmiana cd-rom podczas instalacji z plyt CD-ROM

Wymiana CD-ROM podczas instalacji: Posiadamy już zgrane obrazy ISO na dysk twardy:
x4500-1-demo-server# find /xvm_iso/rh4
/xvm_iso/rh4
/xvm_iso/rh4/RHEL4-U4-i386-AS-disc1.iso
/xvm_iso/rh4/RHEL4-U4-i386-disc2.iso
/xvm_iso/rh4/RHEL4-U4-i386-disc3.iso
/xvm_iso/rh4/RHEL4-U4-i386-disc4.iso
/xvm_iso/rh4/RHEL4-U4-i386-disc5.iso

Mamy taki plik konfiguracyjny:
x4500-1-demo-server# cat /xvm/config/rh4.py memory = '4096'

vcpus = 2

boot='d'
disk = [ 'file://xvm_iso/rh4/RHEL4-U4-i386-AS-disc1.iso,hdb:cdrom,r', 'file://xvm/disks/rh4/disk.raw,hda,w' ]
vif = [ '' ]

on_shutdown = 'destroy'
on_reboot = 'destroy'
on_crash = 'destroy'
kernel = "/usr/lib/xen/boot/hvmloader"
device_model= "/usr/lib/xen/bin/amd64/qemu-dm"
builder='hvm'
sdl = 1

Patrzymy jakie mamy urządzenia:
x4500-1-demo-server# xm block-list rh4 --long
(832
((backend-id 0)
(virtual-device 832)
(device-type cdrom)
(state 1)
(backend /local/domain/0/backend/vbd/21/832)
)
)
(768
((backend-id 0)
(virtual-device 768)
(device-type disk)
(state 1)
(backend /local/domain/0/backend/vbd/21/768)
)
)

Najważniejsza komenda to:
bash# xm block-configure rh4 file://xvm_iso/rh4/RHEL4-U4-i386-disc2.iso hdb:cdrom r 0

Gdzie: rh4 - nazwa domeny
file://xvm_iso/rh4/RHEL4-U4-i386-disc2.iso - nowy plik
hdb:cdrom - w jaki sposob ma byc traktowany plik, bez :cdrom będzie traktowany jako disk!!
r - do odczytu
0 - backend-id

http://blogs.sun.com/mbrowarski/date/20080207 czwartek luty 07, 2008

install zone solaris parametry

Gdy instalujemy zone, pisząc:
bash# zoneadm -z zonename install

Zostanie przygotowywana lista pakietów do zainstalowania do przegrania do zony non-global. Domyślnie są brane wszystkie pakiety z system głównego (global zone).
Można w nieznacznym stopniu tym zarządzać, mamy do tego trzy parametry:
SUNW_PKG_ALLZONES - Jeżeli TRUE to instalacja dozwolona tylko w ZONE globalnej, ale widoczna wszędzie. Stosuję się to dla pakietów, gdzie wszystkie zony MUSZĄ mieć ta sama wersje pakietu.
SUNW_PKG_HOLLOW - ALLZONE też musi być TRUE, wtedy TRUE na tym parametrze przekazuje tylko informacja o pakiecie do zon lokalnych, bez kopiowania plików.
SUNW_PKG_THISZONE - Jeżeli TRUE to tylko ta zona w której instalujemy pakiet, bez kopiowania tez dla przyszłych ZONE.

http://blogs.sun.com/mbrowarski/date/20080206 środa luty 06, 2008

Linux BrandZ Debian apt-get

Po zainstalowaniu Debiana w BrandZ mamy problem z apt-get'em.
Aby to działało należy wykomentować następujące linie w pliku
/usr/share/perl5/Debconf/DbDriver/File.pm
# if (! $this->{readonly}) {
# flock($this->{_fh}, LOCK_EX | LOCK_NB) or
# $this->error("$this->{filename} is locked by another process");
# }

i trzeba pamiętać o tym, aby apt-get'a nie uruchamiać równolegle :).