Installera vmware-tools på CentOS 6

Att installera vmware-tools är alltid rekommenderat om du har möjligheten.
Det görs enklast genom att aktivera vmware-tools installationen via ESXi eller VMWare player.

Jag har skrivit andra guider här på Uppe.nu för andra Linux distributioner men för CentOS 6 gör man på sättet nedan

Kör dessa kommandon i rätt ordning:

 

yum -y install perl
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cp /mnt/cdrom/VMwareTools-*.tar.gz /tmp
umount /mnt/cdrom
tar -zxf /tmp/VMwareTools-*.tar.gz -C /tmp
cd /
./tmp/vmware-tools-distrib/vmware-install.pl –default
rm -f /tmp/VMwareTools-*.tar.gz
rm -rf /tmp/vmware-tools-distrib

Klart!

Driftstörning på svenska internet

Idag får vi en mängd olika frågor ifall vi har problem och varför man inte kommer åt sin hemsida.

Normalt sett så brukar vi posta driftstatus gällande Adminors egna tjänster men i detta fall bedömer vi att informationen är av vikt för en del av våra kunder.

Just nu är det strömavbrott i Västerås och detta drabbar en svensk internetoperatör som heter Loopia. Dom är en av de stora domänregistratörerna och har DNS-servrar för många svenska domäner.

Eftersom dessa DNS-servrar är nere just nu så kan det förekomma störningar på webbsidor som hostas hos Loopia eller som använder Loopia DNS servrar.

Adminor kommer inom kort lansera en anycast DNS-tjänst för kunder som behöver mer redundans för deras DNS-utpekningar.

Hur man får Windows 8 att se ut som Windows 7/XP/2000

Vi på kontoret uppgraderade nyligen några av våra datorer till Windows 8.
Tyvärr var vi inte helt nöjda med det nya METRO utseendet så vi bestämde oss för att byta till det gamla klassiska utseendet.

Det visade sig inte vara helt lätt från början men till slut hittade vi ”Classic Shell”. Det publiceras under öppen källkods-licens och är ”gratis”.
Som med alla installationer av program så får man själv ta ansvar. Vi tyckte iallafall att det löste alla våra problem med Windows 8 som egentligen är ett riktigt stabilt och snabbt operativ.

Källa: http://www.classicshell.net/

Säkrare SSL certifikat i NGINX

SSL betyg

Obs: Denna guide kräver grundläggande kunskaper om NGINX och dess konfiguration.
Ett fungerande certifikat (signerade crt-filer, privat nyckel).

Att konfigurera en webbsida att prata via SSL är ett bra sätt att förbättra säkerheten.
Detta gäller både dig själv och dina besökare.

Vad man ska vara medveten om är att säkerheten kan förbättras ytterligare.
Oftast brukar webbservrar komma förkonfigurerade för ganska bred kompatibilitet. Detta för att SSL certifikatet ska fungera med gamla
Tyvärr skapar detta vissa problem och sårbarheter som illasinnade kan utnyttja.webbläsare eller vissa äldre mobiler.

Vissa exempel är när man tillåter webbläsaren att bestämma allt för mycket om vilka protokoll eller krypteringar som ska användas med certifikatet.

Det kan i värsta fall leda till kryptering som går att knäcka eller att din server blir överbelastad av en illasinnad eller felkonfigurerad klient.

I koden nedan har vi valt att strikt definera vilka ”ciphers” som tillåts och hur krypteringen får sättas upp samt omförhandlas mellan client / server. Den bör stå pall för de flesta certifikattester och bra betyg.

Exempelkod för SSL-konfiguration för en server.
server {[code]

ssl on;
ssl_certificate /etc/nginx/ssl/example.se-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/example.se.key;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_ciphers ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4-SHA:HIGH:!kEDH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}
[/code]
Här kan du själv testa din sida om ditt SSL certifikat och konfiguration håller måttet.
Källa: https://www.ssllabs.com/ssltest/

Installera vmware-tools på Debian 6.0 (Squeeze)

Det är väldigt enkelt att installera vmware-tools på Linux Debian 6.0 också känt som Squeeze.

I virtuella maskinen behöver man installera några verktyg via apt-get.

Kör:
apt-get install make gcc
apt-get install linux-headers-$(uname -r)

I vmware esxi görs det genom att man högerklickar virtuella maskinen.

Guest -> Install/Upgrade VMware tools

Gå in på din virtuella maskin, logga in som root eller sudo:a .

Jag väljer att montera och packa upp filerna till /tmp , det går givetvis bra att packa upp till nån annan katalog om man har lite utrymme på /tmp .

cd /tmp

mkdir cdrom

mount /dev/cdrom cdrom

cd cdrom

cp VMwareTools*.tar.gz ../

cd ..

umount cdrom

rm -r cdrom

tar zxvf VMwareTools*.tar.gz

cd vmware-tools-distrib

./vmware-install.pl

rm -r vmware-tools-distrib

Borttagning av kataloger och avmontering av cdrom är valfritt, det sker ändå vid omstart eftersom vi lagt installationsfiler under /tmp .

För de allra flesta räcker det med att bara välja default alternativet på alla frågor.
När installationen är färdig kan ESXi kommunicera med gästen med vmware tools samt uppgradera själv i framtiden.

Managerad driftövervakning via Adminor

En av våra tilläggstjänster är managerad driftövervakning. Då tar Adminor emot larm och driftinformation från de system vi övervakar hos en kund.

Vi ser notifieringar via GUI (grafiskt interface), via epost och SMS.
Är det väldigt viktiga tjänster så får vi även uppringningar av automatiska system oavsett tid på dygn.

När vi tar emot larm så klassifierar vi det enligt en skala med allt som kan lösas ”next business day” till det som går på SLA prioritet dygner runt. En ticket skapas och vi notifierar via epost, sms eller telefon beroende på vilken tid på dygnet samt vilken grad av incident. Därefter bestämmer man hur felet ska hanteras och implementerar en lösning.

Vill man inte använda sig av tjänsten managerad driftövervakning så går det givetvis bra att sköta sådant själv. På IDG har man skrivit en bra artikel för de som vill övervaka sina tjänster med hjälp av Pingdom. Artikeln är mer av en guide på hur man kan anpassa Pingdom för sitt eget behov.

Sökmotoroptimering (SEO) – hemstajling för företag

När man lägger ut sin lägenhet till försäljning så är det viktigt att den är städad och fin. Vissa anlitar homestylers som ska snygga till lägenheten så att eventuella skavanker syns mindre vid visning och hemfotografering.
Det gäller att bostaden syns på så många ställen som möjligt. Ju fler som talar och diskuterar om objektet desto bättre samt fler som bjuder i slutändan.

På samma sätt så måste en webbsida vara lättnavigerad , snabb och relevant för att sökmotorer ska ranka den högt i sökmotorlistor. En av de viktigaste aspekterna är antal andra webbsidor som länkar till den sida som ska synas högt. Ju mer relevanta länkar och ju högre upp de andra webbsidorna är i googles listor – desto bättre. Ett mått på hur synlig en webbsida är i google kallas Pagerank.

Det finns en hel del sökmotoroptimeringsföretag på nätet som lovar guld och gröna skogar för att se till att just din webbsida hamnar högt upp i resultaten. En hel del sökmotoroptimerare använder sig även av tvivelaktiga metoder. Exempel på detta är sökmotorföretag som har egna listor på siter där de får slänga in länkar kors och tvärs utan relevans för att skapa artificiell synlighet. Upptäcks det av google så riskerar man att bli straffad och istället hamna långt ned eller helt uteslutas ur sökresultat.

Detta är en marknad som en hel del företag riktat in sig på – så kallad sökmotoroptimering (search engine optimization, SEO) .

Jag anser personligen att det inte finns några genvägar om man verkligen ska lyckas. Det finns dock en hel del enkla knep man kan börja med för att hjälpa sökmotorerna på traven. Det viktigast är dock att ha en webbsida med relevant och intressant material.

Just nu jobbar jag med ett antal olika projekt i Adminor för att hjälpa allt från privatpersoner till små och medelstora företag med sina webbsidor. Givetvis så tillämpar jag samma etiska metoder som jag förespråkar!

Molntjänster – skillnad på moln och moln

Det snackas mycket om molnet och cloud hosting.

Vad är molnet?

Med molntjänster (även kallat cloud Computing) menar man möjligheten att köra serverbaserade applikationer eller program över Internet. Traditionellt så brukar man hantera applikationer inom ett företag eller en organisation genom att installera applikationen på en egen fysisk server. Dessutom så ansvarar man för drift och underhåll av både server samt applikation själva eller genom att överlåta på en extern IT-leverantör (outsourcing).

Inom molnet är det istället ofta tjänsteleverantörer som svarar för installation på sin server samt ansvarar för drift och underhåll av miljlön i egna datacenter. För att göra allt det här möjligt så brukar tjänsteleverantören använda virtualiserings-teknologi för att kunna dela upp resurserna bland olika applikationer och ”virtuella privata servrar”. På så vis kan man maximera resursutnyttjandet av de fysiska servrarna genom att tilldela precis så mycket resurser som behövs – till skillnad från det resursslöseri man riskerar att ha i en traditionell miljö.

Skillnad på moln och moln

Jag anser att olika leverantörer av molntjänster kan delas in i tre olika kategorier eller nivåer, så kallade tiers. Dessa nivåer är vad som spelar in på kvalité och pris av tjänsten.  Ju högre nivå av tjänsten desto dyrare.

Den främsta skillnaden bland olika tiers är IOPs (operationer per sekund)  kapacitet på deras lagringsplatform. Därefter kommer funktionaliteten.

IO-prestandan är så pass viktig att om du har otur att välja en leverantör som har låg prestanda eller har sparat in på lagringsmiljön kan din virtuella privata server påverkas negativt av långsam läs- och skrivkapacitet. Priset på lagringsutrymme spelar roll på prestanda!

Har man inte högt ställda krav på IOPS prestanda och hellre vill ha maximalt lagringsutrymme så kanske man inte behöver välja de dyrare tiers. Har man dock krav på prestanda så får man nog satsa på de högre tiers.

Nedan har jag försökt klassifiera olika tiers och deras egenskaper:

– Premium tier
Högst driftsäkerhet, dedicerade infrastrukturresurser med flera niors upptid SLA. Deras lagringsmiljö är oftast bland de mest kvalificerade och högpresterande som kostat miljoner att driftsätta.
Oftast egen tekniskt platform som de själva driftar och utvecklar. De lever på sitt namn och har råd att ta betalt.
Dessa leverantörer brukar även leverera sin mjukvara till företag så att de kan hosta privata moln (virtuella miljöer). Ett exempel på dessa leverantörer är VMWare.

– Enterprise tier
Steget under Premium tier. De håller hög nivå på sin infrastruktur men är inte lika stora som premium tier. De har mindre datahallar och licensierar sin mjukvara från Premium tier leverantörer. De satsar även på att kunna leverera vad de lovar vilket driver upp priser någorlunda för lagringsutrymmen (SAN i hundratusenkronors klassen) men är inte lika dyra som Premium.

– Budget tier
Billigaste billiga. Vissa begränsningar i virtualiseringsfunktioner och överbokar gärna sina resurser för att hålla låga priser till slutkunder. De kör ofta mjukvarubaserade filsystem för att kunna maximera tillgängligt lagringsutrymme på bekostnad av IOPs prestanda.   Distribuerade filsystem körs på vanliga konsument SATA diskar som har maximal lagringskapacitet, låg IOPs men även låga priser.

Hur kan man skilja på ett moln från ett annat då?
Priset!
Titta på grundpaketet från leverantören.
Kostar VPS:en man vill beställa bara mellan 50 och 120kr/må så kan man vara säker på att de sparat in på något.  Är lagringsutrymme extremt billigt så kan man vara bombsäker på att det är distribuerade filsystem som använder långsamma SATA diskar för maximalt utrymme.
En start kostnad runt 170kr/mån brukar indikera Enterprise tier och allt ovanför 250kr/mån är Premium. Priserna för lagringsutrymme springer gärna iväg till många tior per GB diskutrymme.

Kraften av Unix?

Jag läste en intressant artikel på IDG där man tar upp hur man kan använda MacPorts som pakethanterare under Macintosh.
Mycket bra genomgång även om jag får passa på att ge Mac OSX en känga eftersom man kunnat göra detta under Linux sen någon gång på 90-talet 🙂

Mina personliga favoriter under olika distributionsträd är följande:
I Debian, Ubuntu och andra distributioner baserat på Debian har vi apt-get / aptitude.
I Gentoo har vi emerge / portage.
I RedHat och Redhat kompatibla distributioner så som CentOS och WhiteHat har vi yum.

Absolut snabbast av alla dessa är apt för Debian även om emerge / portage på Gentoo kan tänkas vara den mest flexibla av paketeringssystemen.

Hur skiljer sig då pakethantering under Linux mot t.ex. Windows?
Jo, man på Linux har man ofta stora arkiv online med tillgänglig mjukvara som man kan vraka och välja bland. Det går att genom ett kort kommando både söka, installera och avinstallera alla mjukvaror som behövs. Alla filer som behövs laddas ned vid behov och installeras snabbt och enkelt. Ibland skulle jag vilja säga att detta gör Linux enklare än Windows för en administratör!

Använder du Android eller iPhones market funktioner för att tanka appar kan du tänka dig att det funkar liknande.
Du söker en app och väljer den helt enkelt för installation.

I Windows får du oftast leta upp den mjukvara du vill ha, fixa en installationsfil eller cd-skiva och därefter installera.
Hoppas verkligen att Microsoft följer efter och ger upp tänket med att behöva ladda ned en ISO för att bränna ned på skiva varje gång man vill installera någon större applikation. Vi på Adminor är SPLA partner men det tar avsevärt mycket längre tid att installera programvaror från Microsofts licenspartnerprograms webbsidor än motsvarande från andra operativsystems leverantörer. Synd!

Varnish cache – en case-studie

En kväll blev Adminor uppringd av en webbportal som hade ett akut problem.

Problemet
Deras sida hade legat nere under halva dagen och mesta delen av kvällen. När sidan väl var uppe tog det över 10 sekunder för sidan att ladda.
Mesta dels var problemet självförvållat genom ökande popularitet av deras webbsida.

De var i akut behov av att lösa problemen men hade inte möjlighet att byta server snabbt på grund av budgetbegränsningar och intern miljö.
På mjukvarusidan fanns en vanlig WordPress installation på en Apache webbserver och MySQL-databas. Utöver det hade dom själva redan försökt lösa problemet genom att köra wordpress cache plugin.

En till synes omöjlig uppgift när budget begränsar och det inte fanns mycket man kan göra på mjukvarusidan.

Förberedelser

Det första vi tittade på var serverinställningarna på Apache och MySQL. Vi kunde dock inte se några underligheter utan inställningarna var rätt hyffsade. Det var helt enkelt så att de måste frigöra resurser på något vis, antingen genom att köpa in ny  hårdvara eller förbättra applikationen.
Vi kom då med ett tredje förslaget att istället implementera Varnish som en caching proxy framför deras webbportal. På så vis skulle man kunna cacha de dynamiska förfrågningarna.

Felåtgärd

Ofta måste man göra en fullständig undersökning av kundens miljö eftersom man inte vill orsaka problem med att ändra inställningar för server.
I detta fall var det ganska enkelt när servern bara har en site som körs och sidan ändå var nere mera än den var uppe pga det höga trycket.

Vi körde därför igång på direkten. Det första vi gjorde var att göra en snabbanalys. Detta gjorde vi genom att installera grafverktyg och statistikinsamling på det systemet som var berört.

Adminor identifierade det material som MÅSTE vara dynamiskt och vilket material som kunde cachas. Det visar sig att allt förstasidematerial och dess undersidor med enkelhet kunde cachas i åtminstone 10 minuter. Restererande material som publikationsdel och administrationssidor fick inte cachas.
Sen diskuterade vi med kunden om detta verkade överenstämma. Att installera Varnish är rätt enkelt så 2h efter att kunden först tog kontakt så var en lösning färdigimplementerad.

Resultat

Graferna nedan visar de första 20 minutrarna då vi precis installerat övervakningen och sen den kraftiga resursminskning efteråt när Varnish aktiverats.


Datapunkterna på CPU-grafen visar iowait, user och system CPU-utnyttjande som låg långt över det rekommenderade. Minnesanvändningen låg över det som fanns fysiskt installerat så att server var tvungen att swappa (läsa / skriva från långsammare diskminne).
Efter Varnish-installationen så har CPU användningen minskat från >100%  till endast en 1/4 del utav de tillgängliga resurserna som högsta nivå under dagarna. Minnesgrafer är nu jämn under dagarna med avtagande ökning (normalt och hälsosamt) istället för den kaotiska höga commit nivån (5.96GB!) som låg ovanför den fysiska gränsen i början av datapunkterna.

Det ska nämnas att innan Varnish implemeterades kunde portalen endast ta emot ett tjugotal samtidiga besökare. Efter förändringen så gjorde vi ett lasttest som visade att det nu var serverns bandbreddsanslutning som kommer begränsa – men det är långt tills dess. Detta ger nu portalen en hel del utrymme att växa i utan att öka sina serverkostnader!
Efter Varnish togs i bruk laddades 100% av besökarna under 0.5sekunder enligt apache benchmark statistik.

Kommando: ab -n 1000 -c 5 http://www.domain.se/

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.domain.se (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        Apache/2.2.9
Server Hostname:        www.domain.se
Server Port:            80

Document Path:          /
Document Length:        71552 bytes

Concurrency Level:      5
Time taken for tests:   57.714 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      72030893 bytes
HTML transferred:       71552000 bytes
Requests per second:    17.33 [#/sec] (mean)
Time per request:       288.570 [ms] (mean)
Time per request:       57.714 [ms] (mean, across all concurrent requests)
Transfer rate:          1218.82 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       39   40   0.6     40      51
Processing:   202  248  77.6    204     447
Waiting:       40   41   2.7     41     112
Total:        241  288  77.6    244     487

Percentage of the requests served within a certain time (ms)
  50%    244
  66%    245
  75%    256
  80%    407
  90%    444
  95%    446
  98%    447
  99%    448
 100%    487 (longest request)

I nästa blogg-inlägg kommer jag gå igenom vilka Varnish konfigurations & VCL-regler vi fick definera – vad man måste göra för att få en cache att fungera och vilka undantag som måste göras för respektive del för att dynamiskt material ska fungera korrekt.