Pokazywanie postów oznaczonych etykietą Solaris. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Solaris. Pokaż wszystkie posty

poniedziałek, czerwca 26, 2017

Mazanie stosem po pamięci

https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt?_ga=2.173030435.1854853461.1498475468-1500124305.1498475468

środa, listopada 02, 2011

GUI do Solaris Cluster

/usr/sbin/cacaoadm enable; /usr/sbin/smcwebserver enable

SUNW.Proxy_SMF_failover to zasób bazujący na serwisie SMF!

poniedziałek, października 31, 2011

Statyczny adres IP w Solaris 11 Express


niedziela, października 30, 2011

Fighting with Solaris Cluster on OpenIndiana







Also replace every 'typeset -r' with 'typeset'.



Serial console ttya can be useful. There are just 2 variables inside cl_bootstrap module. Integer clconf_initialized can be set to 1 via /etc/system (set cl_bootstrap:clconf_initialized). The more important for us mynodeid is short and we cannot touch it. So we are stuck. This kernel panic is triggered by a compatibility bug between OpenIndiana and Solaris Cluster. Ugly solution: binary patch cl_bootstrap module: replace PUSH and JMP with NOOP+NOOP and leak file handle for /etc/cluster/nodeid.

On Solaris 10 kobj_open_file() is defined with return type int (32-bit), on newer OpenSolaris/OpenIndiana with struct *_buf (64-bit address), so casting from 64-bit pointer truncates its correct value and then release with kobj_close_file() operates on wrong value and we see bad free.

niedziela, października 23, 2011

KISS HA




Dlaczego wyszukiwarka Google nie pada tak jak od czasu do czasu chmury? Bo zamiast klastra używają grida. Po co stawiać na active/standby skoro można mieć bardziej niezawodne active/active, do tego taniej. Google polega na dużej liczbie redundantnych i z założenia zawodnych węzłów (wewnętrznie używają nawet patcha pozwalającego na działanie sprzętu na częściowo uszkodzonych pamięciach RAM).

Wróćmy jednak do obrazków i frameworka Solaris SMF, służącego do zarządzania usługami. SMF jest w stanie zapewnić, że proces zdefiniowany w usłudze w przypadku awarii zostanie wznowiony. SMF obsługuje zależności między usługami. W przypadku lokalnego klastra Tibco możemy zdefiniować wirtualne usługi typu baseline-domain, od których będą zależeć konkretne adaptery i brokery. Wtedy wyłączenie lub włączenie domeny będzie włączać lub wyłączać całą grupę komponentów danej domeny.

Do zastosowań active/active wcale nie jest potrzebny Veritas Cluster ani Sun Cluster, SMF z powodzeniem daje radę.

sobota, października 15, 2011

The American Dream

Firma, która z sukcesem stworzyła Uniksa na Big Iron. Marzeniem młodych inżynierów było pracować w Sun-ie. Zone-y, ZFS, DTrace były innowacyjnymi pomysłami. OpenSolaris i OpenJDK były wydarzeniami, które odbiły się szerokim echem w branży IT. Sun w dużym stopniu wspierał środowisko Gnome (poprzez Java Desktop System). Ludzie z tej firmy jako pierwsi z branży zaczęli prowadzić blogi. Sun był otwarty. Dali społeczności darmowy serwer aplikacyjny i darmowe ESB. Od czego zaczęła się rewolucja 3D (Compiz) na linuksowym desktopie? Od projektu Sun Looking Glass.



Oracle drastycznie zmienił kierunek, z czym wielu pracowników fioletowej korporacji nie mogło się pogodzić. Odeszło wielu wartościowych ludzi, którzy stworzyli potęgę techniczną Sun Microsystems. Jak bez nich będzie rozwijał się komercyjny i zamknięty Solaris? Architekt infrastruktury, podejmując w tym momencie strategiczne i długoterminowe decyzje, widząc duże przyśpieszenie RedHata (patrz Cluster Suite, High Availability Add-On), ma poważne wątpliwości którą opcję wybrać.
Obecnie dewelopmentem Javy kieruje Henrik Stahl (BEA JRockit). Co do koncepcji, to dobrze, ale co do jakości wydań to Java 7.0 ze słynnym już Segmentation Fault ma jakość niektórych wersji JRockita...

niedziela, kwietnia 24, 2011

Bezpieczne aktualizacje







OpenSolaris (i jego pochodne) pozwalaja na bezpieczne aktualizowanie systemu operacyjnego. W momencie aktualizacji tworzony jest snapshot ZFS, jest on bootowalny, można wybrać go w menu GRUB. Jeśli update spowodował błędy wystarczy przerestartować system i wybrać środowisko startowe sprzed aktualizacji.

niedziela, marca 20, 2011

System plików a baza danych

4 miliony insertów i 2000 selektów z agregacją rozdzielone na 6 równoległych wątków komunikujących się po TCP/IP z bazą HSQLDB (tabelki cached, końcowy rozmiar 1,3GB) umiejscowioną na różnych systemach plików.


32-bitowe OpenSUSE 11.4 / 32-bitowy Solaris 11 Express, 1GB RAM, Sun Java 6.0. Czas trwania benchmarku podany w sekundach.


Wyniki znormalizowane (w procentach) względem ext4. Dwa systemy typu copy-on-write wypadają słabo - Btrfs i ZFS. ZFS-FUSE pod Linuksem radzi sobie w 4850 sekund, co relatywnie daje ok. 600%.


NilFS jest systemem plików z garbage collectorem, który może działać zbyt wolno dopuszczając do zapełnienia partycji: java.sql.BatchUpdateException: Data File size limit is reached at org.hsqldb.jdbc.JDBCPreparedStatement.executeBatch(JDBCPreparedStatement.java:1928). Wersjonowanie to fajna rzecz, ale mało powtarzalna i degradowalna z czasem wydajność sprawiają, że nie nadaje się do produkcyjnego użycia.

Wnioski: Wydajność Ext4 i XFS-a jest zbliżona, a systemy plików rozwijane przez Oracle-a (ZFS i BtrFS) są od tych linuksowych sporo wolniejsze. Miło, że z biegiem czasu natywny linuksowy system plików dogonił produkt SGI. ZFS jest fajny, ale jak widać nie we wszystkich zastosowaniach. Jedyny z w/w systemów, który umożliwia defragmentację to XFS.

czwartek, marca 03, 2011

Solaris CPU limits

Każdy rozsądny serwer produkcyjny powinien być zabezpieczony np. przed bombą forkową. Każdy ważniejszy serwer produkcyjny hostujący wiele aplikacji powinien mieć określone priorytety dla każdej z nich. W Solarisie da się zaaplikować priorytety za pomocą tzw. projektów. W pliku /etc/project możemy określić per projekt liczbę dostępnych udziałów CPU - na podstawie ich i bieżącego obciążenia maszyny dynamicznie ustalane są przez system limity na użycie CPU.


Zmiany konfiguracyjne da się zastosować bez restartu maszyny, jesteśmy wtedy ograniczeni do polecenia newtask startującego dane polecenie w ramach podanego projektu.


Domyślne dobieranie projektu dla procesu uruchomionego w kontekście danego użytkownika bazuje na wpisach user.użytkownik lub group.grupa w /etc/project. Można to zmienić przypisując projekt do użytkownika w /etc/user_attrs.

poniedziałek, lutego 21, 2011

VBox OpenIndiana



Ciekawostka: Po podaniu OpenIndiana VirtualBox automatycznie dopasowuje system gościa jako 'Oracle Solaris 10u9 lub nowszy'. Mniemam, że obie drużyny współpracowały ze sobą, a po przejściu kluczowych ludzi z Oracle-a do Nexenty współpraca trwa dalej.

środa, września 15, 2010

OpenIndiana

Społeczność przejęła dewelopment OpenSolaris-a. Na razie system nie zawiera kodu IllumOS.



Dlaczego OpenIndiana jest potrzebny?
Przez długi okres czasu Solaris 10 wraz możliwością aktualizacji systemu był dostępny dla wszystkich, bezpłatnie. Oracle zrezygnował z tego modelu. Projekt OpenSolaris porzucony przez Oracle-a dostarczał świeżą (up-to-date) wersję systemu działającą na nowym sprzęcie zawierającą świeże (cutting-edge) funkcjonalności (np. ZFS deduplication, Crossbow networking).
Produkcyjny Solaris 10/11 toczy się dużo wolniej, a przez to nie wszystkim odpowiada.



Zatrzymam się jeszcze przy deduplikacji - to funkcjonalność, którą mają macierze dyskowe za ciężkie pieniądze - w OpenSolarisie jest za darmo dla wszystkich. Można potworzyć sporo kontenerów, które w systemie plików nie będą zjadały gigantycznych ilości miejsca. Funkcjonalność idealna pod serwer hostingowy (maszyn wirtualnych).

Dzięki Crossbow możemy nałożyć SLA na interfejsy sieciowe i usługi. Takie SLA, że np. zawsze będziemy mogli dostać się przez SSH na serwer, bo ten ruch sieciowy będzie traktowany jako priorytetowy. Dla serwera HTTP możemy zarezerwować dedykowane pasmo.

poniedziałek, sierpnia 02, 2010

Fork OpenSolarisa?


Nexenta radzi sobie dość dobrze w dewelopmencie jeśli chodzi o dodawanie nowych sterowników, poprawki jądra, ale pewnie nie jest w stanie wyjść z czymś zupełnie nowym jak np. deduplikacja w ZFS-ie. System byłby na bieżąco z obsługą dostępnego na rynku sprzętu, pojawiałyby się usprawnienia na polu usuability dla użytkownikow i administratorów, ale pewnie samo jądro nie byłoby rozwijane z takim rozmachem jak w Sun-ie. Pożyjemy, zobaczymy...

wtorek, czerwca 22, 2010

What's up with OpenSolaris



The OS is still alive, now in build 142 (as you can check at Solaris Freeware download site), however development process is not so open: internal releases are not available from genunix.org any more (the last build is SNV_134).

sobota, kwietnia 03, 2010

Solaris prstat


Zanim użyjemy dtrace-a można szybko zebrać ważne informacje o wątkach procesu.

środa, grudnia 23, 2009

GlassFish na produkcji

Po zainstalowaniu GlassFish działa na ustawieniach odpowiednich do dewelopmentu. Przed wypuszczeniem go na produkcję, gdzie oczekuje się od niego pewnej wydajności, trzeba pozmieniać parę rzeczy.









niedziela, października 25, 2009

Shaping ruchu sieciowego w OpenSolarisie

Stworzyliśmy wirtualną kartę sieciową do dedykowanej obsługi ruchu SSH. Żeby ssh user@10.0.2.150 zadziałało trzeba jeszcze podnieść eth0 (ifconfig eth0 up).


sobota, września 26, 2009

Jak uaktywnia się skalowanie okna TCP



W przypadku Axis-a można to rozwiązać tak:

System.setProperty("tcp.window.size", "64000");
AxisProperties.setProperty("axis.socketFactory", "CustomSocketFactory");

Czasy WebService'u dla rozmiaru okna:

1460 (RWIN=MSS :) => 21860 ms
5000, 7000, 17000, 33000, 64000 => 4500-6500 ms

piątek, września 11, 2009

Prstat

27109 adinstan  469M  323M cpu1    30    0 209:37:17  35% bwengine/64
27109 adinstan 469M 323M cpu17 20 0 209:37:45 35% bwengine/64
27109 adinstan 469M 323M cpu16 20 0 209:38:14 35% bwengine/64
27109 adinstan 469M 323M cpu17 20 0 209:38:56 35% bwengine/64
27109 adinstan 469M 323M cpu18 20 0 209:39:10 35% bwengine/64
27109 adinstan 469M 323M cpu0 10 0 209:39:24 35% bwengine/64
27109 adinstan 469M 323M cpu2 10 0 209:39:38 35% bwengine/64
27109 adinstan 469M 323M cpu19 10 0 209:40:07 35% bwengine/64
Proces skacze po procesorach. Można go dowiązać narzędziami psrset+pbind, co powinno zmniejszyć opóźnienia (ważna rzecz dla np. aplikacji RT).

niedziela, kwietnia 05, 2009

Aptana Cloud

Wersja najtańsza oferuje 256MB i 5GB na MySQL-a i Tomcata-a. W wersji trial zużycie swapa wynosiło 40%, a z logów tomcata wynikało, że parę razy miał za mało pamięci, żeby wstać. Tną koszty. Całość działa w oparciu o kontenery Solaris-a 11. Mój kolega znający się na serwerach twierdzi, że ten cały cloud computing to nowa nazwa marketingowa na hosting, przy czym hosting jest tańszy. Patrząc na ofertę Aptany, przyznaję mu rację.











sobota, marca 21, 2009

Cloud Computing wg Sun-a

Sun ma fajny pomysł na chmurę. W kontenerach solarisowych stworzonych z szablonu dostępny może być Apache, MySQL, GlassFish, Ruby. Instancji kontenerów może być kilka i mogą być połączone wewnętrzną siecią. Dostęp do serwisów w kontenerach realizowany jest poprzez NAT (jeden publiczny adres IP + firewall). Wersjonowanie projektów zapewnia Mercurial. Backup jest na ZFS-ie. Na razie Kenai hostuje tylko sunowe projekty.