Migracja P2V – Windows z GPT
1. Zastosowania narzędzia do migracji Platespin migrate v9.1, które supportuje GPT.
2. Wykorzystanie darmowego narzędzia do konwersji online BizCON Alexa lub disk2vhd.
3. W przypadku systemu docelowego ESX5i podmontować dysk z systemem operacyjnym w trybie RDM (Raw Device Mapping).
Koncentrator PPPOE
W serwerowni dostawcy znajduje się centralny koncentrator. Dodatkowo funkcję jakie przyjmuje na siebie serwer to firewall oraz QOS.
Aby lepiej zrozumieć możliwości takiego rozwiązania przedstawię specyfikację sprzętową:
- Procesor Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
- Pamięć 4GB DDR2 FB
- LSI RAID 2×512 Mirror
- 2x Intel Corporation 82571EB
- Grafika ATI Technologies Inc ES1000
Serwer w takiej konfiguracji jest wystarczający aby osiągnąć 3000-5000 jednoczesnych połączeń sesji pppoe, a ruch sieciowy do sieci WAN 600-700Mbit/s. W dalszej części przedstawię na co należy zwrócić od strony sprzętowej i programowej.
Sprzęt. Istotnym czynnikiem w działaniu jest procesor, przedstawiony powyżej zalicza się do grupy end-of-live. Obecnie na rynku występują dużo szybsze procesory serii Nahalem. Pamięć ma znaczenie ponieważ sesję, kolejki i inne komponenty sieciowe potrafią ją wysycić. Do 4000 sesji powinno wystarczyć 4GB. Karty sieciowe tylko PCI-E np. takie jak w specyfikacji. Do optymalizacji sprzętowej zaliczyłbym wyłączenie niepotrzebnych rejestrów procesora z drugiej strony uruchomienie rejestrów procesora funkcjonalności Intel’s I/OAT w biosie serwera.
Software. W tej sekcji pozostaje więcej do konfiguracji. Tak naprawdę poprawne skonfigurowanie oprogramowanie to klucz do wydajnego koncentratora. W projekcie wykorzystano następujące wersję oprogramowania:
Kernel: linux-image-2.6.37.6-netkod_01_i386.deb linux-headers-2.6.37.6-netkod_01_i386.deb
Iptables: iptables_1.4.10-1_i386.deb xtables-addons-1.35.tar.gz ipset4 ipt_netflow-1.7.1 ulogd-1.24
Wyżej wymieniona wersja kernela zawiera obecnie najnowsze sterowniki do kart sieciowych tg3-3.115, e1000e-1.2.7-k2, imq (numqueues). Stworzony firewall powinien posiadać funkcjonalność ipset aby nie tworzyć drzewa niepotrzebnych wpisów które zmniejszają wydajność. Najbardziej zachłaną funkcjonalnością na zasoby w przypadku wyżej przedstawionego serwera pppoe jest QOS. Optymalizacją shaping’u polega na stworzeniu filter hashing. Droga pakietu do kolejki w przypadku 4000 filtrów może zmaleć do ok. kilku dopasowań. W ten sposób zyskujemy kilkadziesiąt procent na wydajności. Logowanie ruchu powinno odbywać się za pomocą rozwiązania ulog. Jeśli potrzebujemy bardziej wyrafinowane narzędzie do logowania, które pozwoli w czasie rzeczywistym przeglądać informację o pakietach to polecam ipt_netflow, które od strony serwer niewiele obciąża. Po stronie aplikacji do obsługi na nfsen należy zadbać o odpowiednią przestrzeń dyskową 1G/200Mbit ruchu/24h.
Narzędzia. Monitorowanie systemu może odbywać się z poziomu konsoli do przydatnych narzędzi można zaliczyć nmon for Linux, ethstats, vmstat, iostat, sar. Do przeglądania historycznych danych polecam zabbix-1.8, nfsen + plugin.
Artykuł przedstawia ogólne zasady konfiguracyjne systemu dostępowego, który obsługuje protokół pppoe. Jak widać rozwiązania opensourcowe nie odbiegają od funkcjonalności rozwiązań sprzętowych, które wykorzystują architektura ASIC/NPU. Jeśli chodzi o wydajność to granica coraz bardziej zaciera się.
BNT Virtual Fabric 10Gb Stacking
Procedura stackowania vNIC:
1. Spinamy switche BNT Virtual Fabric. W konsoli konfiguracyjnej BNT wybieramy porty linków (min. 1) zewnętrznych przy pomocy których łączy oba switche. Operację należy powtórzyć na obu switchach. Pierwszy z nich będzie w trybie Master, a drugi member. Po restarcie obu urządzeń dostęp do konsoli HTTPS będzie tylko do mastera. W konsoli AMM, znajdować się będzie informacja nt. stackowania.
2. Konfigurację vNIC najlepiej przeprowadzić z poziomu konsoli cli. Dla blade w bay’u 1 wygląda następująco:
/cfg/virt/vnic/port 1:1/vnic 1/bw 2
/cfg/virt/vnic/port 1:1/vnic 1/en
/cfg/virt/vnic/port 1:1/vnic 2/bw 20
/cfg/virt/vnic/port 1:1/vnic 2/en
/cfg/virt/vnic/port 1:1/vnic 3/bw 30
/cfg/virt/vnic/port 1:1/vnic 3/en
/cfg/virt/vnic/port 1:1/vnic 4/bw 48
/cfg/virt/vnic/port 1:1/vnic 4/en
/cfg/virt/vnic/port 2:1/vnic 1/bw 2
/cfg/virt/vnic/port 2:1/vnic 1/en
/cfg/virt/vnic/port 2:1/vnic 2/bw 20
/cfg/virt/vnic/port 2:1/vnic 2/en
/cfg/virt/vnic/port 2:1/vnic 3/bw 30
/cfg/virt/vnic/port 2:1/vnic 3/en
/cfg/virt/vnic/port 2:1/vnic 4/bw 48
/cfg/virt/vnic/port 2:1/vnic 4/en
Dla pierwszego portu karty VFA został przypisany transfer 200Mbt, dla drugiej 2000Mbit, dla trzeciej 3000Mbit i czwartek 4800Mbit. W sumie 10Gbit transferu. Dla drugiego portu konfiguracja identyczna. W konfiguracji vNIC należy zdefiniować grupy, w których przypisywane są zewnętrzne linki w obrębie stakowanych switchy w postacie port trunk, LACP grup, lub zwykłych portów. W konsoli web wygląda to tak dla pierwszego portu VFA (BNT IO 7):
3. Konfiguracja systemu hyperwizor np. vSphere 5 dla vNIC zakłada stworzenie vDS w oparciu o zestackowane swtiche BNT 10GB, a następnie wpięcie ich do switchy poza obudową blade w trybie LACP active, które również są stackowalne np CISCO Catalyst.
Konfiguracja pozwala stworzenie środowiska o wysokiej dostępności oraz wykorzystaniu funkcjonalności stackowania do zachowania dużej wydajności.
MySQL Cluster
- Data Nodes
- SQL Nodes
- NDB Management Server
- NDB Management Client
Zaprezentowane rozwiązanie na stronie mysql.com ma swoje minusy. Posiada pojedynczy punkt awarii w postaci NDB MS. Istnieje możliwość konfiguracji dwóch serwerów management. Na stronie mysql.com znajdują się przygotowane rpm dla Novell Suse Enterprise i Red Hat Server. Dla przykładu wdrożenia skorzystam z RedHat 5 64bit Należy ściągnąć następujące pliki.
MySQL-Cluster-gpl-tools-7.1.17-1.rhel5
MySQL-Cluster-gpl-storage-7.1.17-1.rhel5
MySQL-Cluster-gpl-server-7.1.17-1.rhel5
MySQL-Cluster-gpl-client-7.1.17-1.rhel5
MySQL-Cluster-gpl-management-7.1.17-1.rhel5
Zakładam konfigurację czterech fizycznych hostów. Na dwóch znajdować się będzie oprogoramowania SQL Nodes (Mysql API) i Data nodes. Na dwóch pozostałych serwer management NDB.
Wszystkie serwery posiadają wspólną konfigurację /var/lib/mysql-cluster/config.ini.
[ndbd default]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster
[ndb_mgmd default]
DataDir= /var/lib/mysql-cluster
[ndb_mgmd]
NodeId = 1
Hostname= mysql1mgnt
[ndb_mgmd]
NodeId = 2
Hostname= mysql2mgnt
[ndbd]
NodeId = 3
HostName= mysql1
[ndbd]
NodeId = 4
HostName= mysql2
[mysqld]
NodeId = 5
HostName= mysql1
[mysqld]
NodeId = 6
HostName= mysql2
Na serwerze SQL Nodes dodatkowo umieszczamy connection strings w pliku /etc/my.cnf.
[mysqld]
ndbcluster
ndb-connectstring=mysql1mgnt,mysql2mgnt
[mysql_cluster]
ndb-connectstring=mysql1mgnt,mysql2mgnt
Pierwsze uruchomienie Data Nodes polega na inicjalizacji zasobów dyskowych /usr/sbin/ndbd –initial
Taka konfiguracja pozwala na uruchomienie środowiska w przypadku awarii pojedynczego serwera management. Należy również zadbać o kolejność uruchamiania usług na serwerze.
Plik startowy
#!/bin/sh
#
# ndbd Startup script for ndbd
#
# chkconfig: – 85 15
# processname: ndbd
# config: /etc/my.cnf
# pidfile: /var/run/ndbd.pid
# description: ndbd is mysql-cluster
#
### BEGIN INIT INFO
# Provides: ndbd
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop ndbd
### END INIT INFO# Source function library.
. /etc/rc.d/init.d/functionsCONFFILE=”/etc/my.cnf”
if [ -f /etc/sysconfig/ndbd ]; then
. /etc/sysconfig/ndbd
fiprog=ndbd
ndbd=${ndbd-/usr/sbin/ndbd}
conffile=${CONFFILE-/etc/ndbd/ndbd.conf}
lockfile=${LOCKFILE-/var/lock/subsys/ndbd}
pidfile=${PIDFILE-/var/run/ndbd.pid}
RETVAL=0start() {
echo -n $”Starting $prog: ”daemon ${ndbd}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
stop() {
echo -n $”Stopping $prog: ”
killproc ${prog}
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}reload() {
echo -n $”Reloading $prog: ”
killproc ${prog} -HUP
RETVAL=$?
echo
}upgrade() {
oldbinpidfile=${pidfile}.oldbinconfigtest || return 6
echo -n $”Staring new master $prog: ”
killproc -p ${pidfile} ${prog} -USR2
RETVAL=$?
echo
sleep 1
if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then
echo -n $”Graceful shutdown of old $prog: ”
killproc -p ${oldbinpidfile} ${prog} -QUIT
RETVAL=$?
echo
else
echo $”Upgrade failed!”
return 1
fi
}configtest() {
${ndbd} -t -c ${conffile}
RETVAL=$?
return $RETVAL
}# See how we were called.
case “$1″ in
start)
start
;;
stop)
stop
;;
status)
status -p ${pidfile} ${ndbd}
RETVAL=$?
;;
restart)
stop
start
;;
*)
echo $”Usage: $prog {start|stop|restart}”
RETVAL=2
esacexit $RETVAL
Testowanie poprawności działania środowiska poleceniem ndb_mgm:
ndb_mgm
– NDB Cluster — Management Client –
ndb_mgm> show
Connected to Management Server at: mysql1mgnt:1186
Cluster Configuration
———————
[ndbd(NDB)] 2 node(s)
id=3 @10.10.100.15 (mysql-5.1.56 ndb-7.1.17, Nodegroup: 0, Master)
id=4 @10.10.100.115 (mysql-5.1.56 ndb-7.1.17, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1 @10.10.100.16 (mysql-5.1.56 ndb-7.1.17)
id=2 @10.10.100.116 (mysql-5.1.56 ndb-7.1.17)
[mysqld(API)] 2 node(s)
id=5 @10.10.100.15 (mysql-5.1.56 ndb-7.1.17)
id=6 @10.10.100.115 (mysql-5.1.56 ndb-7.1.17)
Stacja czołowa
- WISI DVB-IP-Gateway OS xx 6xCI
- BLANKOM SSI 108 2xCI
- NetUP DVB DVB to IP Gateway 4xCI
Architektura rozwiązania jest bardzo podobna, różni się przede wszystkim ilością interfejsów CI. W woli wyjaśnienia co to właściwie są te Common Interface? CI karty służące do dekodowania sygnału dostarczonego przez usługodawcę. Dostawcy contentu posiadają różne systemy dostępu warunkowego. Ogranicza to zastosowanie jednej karty CI do konkretnego systemu dlatego aby zapewnić większą ilości treści (ok. 50 programów ) należy posiadać ok. 19 głowic DVB-S\S2. Przykładowa konfiguracja:
|
Kanał |
Satelita |
System dostępu |
Głowica |
|
1 TVP1 AS |
H/10.862 |
NDS Videoguard |
1 |
|
2 TVP2 AS |
H/10.862 |
NDS Videoguard |
|
|
3 TVP Info AS |
H/10.862 |
NDS Videoguard |
|
|
4 TVP Seriale AS |
H/10.862 |
FTA |
|
|
5 TVP Polonia AS |
H/10.862 |
FTA |
|
|
6 TVP HISTORIA AS |
H/10.862 |
FTA |
|
|
7 TVP KULTURA AS |
H/10.862 |
FTA |
|
|
8 TVP SPORT AS |
H/10.862 |
NDS Videoguard |
2 |
|
9 TVP HD AS |
H/10.862 |
NDS Videoguard |
|
|
10 TRWAM AS |
H/12.603 |
FTA |
3 |
|
11 PLANETE HB |
V/10.719 |
MG3 |
4 |
|
12 MINI MINI HB |
V/10.719 |
MG3 |
|
|
13 NATIONAL GEOGRAPHIC HB |
V/10.796 |
MG3 |
5 |
|
14 Disney XD HB |
V/10.834 |
Viacces |
6 |
|
15 Canal+ Sport HB |
H/10.892 |
MG3 |
7 |
|
16 Canal+ Film HB |
H/10.892 |
MG3 |
|
|
17 Canal+ HB |
H/10.892 |
MG3 |
|
|
18 Ale Kino HB |
H/10.892 |
MG3 |
8 |
|
19 KUCHNIA TV HB |
H/10.892 |
MG3 |
|
|
20 CARTOON NETWORK HB |
V/10.949 |
Cryptoworks |
9 |
|
21 VIVA POLSKA HB |
V/11.075 |
FTA |
10 |
|
22 MTVNHD HB |
V/11.075 |
Cryptoworks |
|
|
23 MTV Polska HB |
V/11.075 |
Cryptoworks |
|
|
24 BBCCbeebies HB |
V/11.117 |
Viaccess |
11 |
|
25 POLSAT SPORT HB |
V/11.158 |
NG3 |
12 |
|
26 POLSAT HB |
V/11.158 |
NG3 |
|
|
27 POLSAT 2 HB |
V/11.158 |
NG3 |
|
|
28 TV 4 HB |
V/11.158 |
NG3 |
13 |
|
29 TVN HB |
V/11.393 |
Conax |
14 |
|
30 TVN24 HB |
V/11.393 |
Conax |
|
|
31 TVN 7 HB |
V/11.393 |
Conax |
|
|
32 TVN METEO HB |
V/11.393 |
Conax |
|
|
33 TVN TURBO HB |
V/11.393 |
Conax |
|
|
34 TVN STYLE HB |
V/11.393 |
Conax |
|
|
35 KINO POLSKA HB |
H/11.488 |
Mediaguard |
15 |
|
36 TVN Warszawa HB |
V/11.508 |
Conax |
16 |
|
37 AXN HB |
V/12.188 |
NG3 |
17 |
|
38 Travel Channel HB |
H/12.284 |
NagraVision |
18 |
|
39 JimJam TelStar |
V/11.150 |
Cryptoworks |
19 |
Teraz łatwo sobie wyobrazić dlaczego koszt profesjonalnej stacji czołowej jest bardzo wysoki. Inwestycja w dla małych dostawców ISP może być nieopłacalna. Do tego rozwiązania dochodzą koszty zabezpieczeń pomiędzy klientem STB, a stacją czołową np. szyfrowanie firmy Verimatrix. Aktualni dostawcy iptv jambox, avios nie posiadają szyfrowania do stb, więc założyć można że nie powinno się generować takiego problemu ?
Pokusiłem się o rozwiązanie własne z serii DYI, które w wersji droższej wymagać będzie kupna karty z interfejsem CI np. NETUP 2xCI i zainstalowaniu ale to koszt ok. 1000 euro. Ekonomiczniejszą wersją rozwiązania będzie zakup dwugłowicowej karty DVB-S/S2 np TEVii 480 PCI-e oraz karty ogólnodostępnych dostawców programowych w celu emulacji interfejsu CI. Zaletą takiego rozwiązania jest możliwość multicastowania pełnych treści z transponderów, a nie tylko wybranych kanałów z odpowiednim kodowaniem. Oprogramowanie, które potrafi korzystać z serwera oscam to GetStream a84. W konfiguracji oprogramowania deklaruje się parametry związane z głowicą, transponderem, programami, adresu multicast itp. Podczas testów w której udział brały dwie karty dwugłowicowe bez większych problemów można osiągnąć wynik 200Mbit ruchu ok 50Mbit per transpoder. Środowisko do testowania to QC E5310, system operacyjny to Linux Debian 64bit, sterowniki tevii_s2_liplianin. Obciążenie systemu dochodzi tylko do 20% dzięki szybkiemu algorytmowi FFdecsa. Należy również zadbać aby klient wbudowany w software getstream posiadał wsparcie dla systemów kart ogólnodostępnych, w tym przypadku należało dopisać obsługę kolejnego caid, przykład
case 0x0D: // CryptoWorks
if(t->caid == decrypt->cam->caId)
{
logwrite(G_LOG_DEBUG,”[Stream:%s] CryptoWorks was chosen\n”, decrypt->stream->name);
pids[pid].type = MYECM;
decrypt->prov_id = decrypt->cam->provs_id[0];
decrypt->prov_ident = decrypt->cam->provs_ident[0];
return;
}
Jest to dopiero początek, ponieważ do poprawnego korzystania z takiego ruchu multicast będziemy potrzebować PIM routera, systemu middelware, urządzeń STB. Temat na następnego posta.
IBM Tool Center Bootable
Wirtualizacja IBM’a na PowerPC
DS4700 – console upgade troubleshooting
Login: shellUsr Password: wy3oo&w4
Z Menu (press ‘M’) wybieramy opcje ‘Permanent file’ i wysyłamy xmodem’em firmware.
VZdump – Centos 5.5 x64
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm yum --enablerepo=rpmforge install cstream perl-LockFile-Simple rpm -ivh http://download.openvz.org/contrib/utils/vzdump/vzdump-1.2-4.noarch.rpm
Na koniec dodajemy zmienną do profilu .bash_profile
export PERL5LIB=/usr/share/perl5/
Zimbra Open Source
Doczekaliśmy się nowego pakietu Zimbra Colloboration Suite 6.0.10. Pakiet ułatwia pracę zespołową. Posiada wiele przydatnych modułów takich jak serwer poczty, kalendarz, zadania, dokumenty, aktówka. Pakiet Zimbra jest alternatywą dla produktów Google apps, Microsoft Exchange oraz Lotus Notes. Jednak najważniejsza zaleta to darmowa licencja i możliwość tworzenia własnych rozszerzeń. Procedurę instalacyjna przedstawia się następująco:
- Konfiguracja serwera dns i rekordu mx,
- instalacja Linuxa (wspiera kilka dystrybucji, debian, redhat, Suse, Centos), zalecana jest wersja 64bit,
- nazewnictwo serwera powinno być w postaci fqdn,
- wyłączyć na systemie funkcjonalność selinux i inne niepotrzebne moduły,
- ustawić limity ulimit -a,
- instalacja modułów,
- uruchomić ssl,
su - zimbra; zmtlsctl mixed; zmcontrol restart
- w konfiguracji MTA bezpieczna sięć powinna być tylko localhost,
- opcjalnie można skonfigurować virtual hosty dla innych domen.
Zarządzanie użytkownikami wspierane jest przez serwer LDAP, który instaluje się wraz z pakietem Zimbra. Z doświadczenia mogę dodać, że Zimbra lubi zasoby w postaci pamięci podręcznej dla procesów javy, które są uruchamiane po instalacji. Minimalna ilość pamięci do poprawnego działania to 3GB, im więcej tym lepiej.





