Förord
Det har gÄtt tvÄ dagar sedan den nya versionen av operativsystemet CentOS, nÀmligen CentOS 8, slÀpptes. Just nu finns det ganska fÄ artiklar pÄ nÀtet om hur man gör nÄgot med det, sÄ jag kÀnde att jag ville fylla det tomrummet. Jag kommer att berÀtta inte bara om hur man installerar dessa program, utan ocksÄ om hur jag ser pÄ installationen av Linux i en virtuell miljö i den moderna vÀrlden för typiska uppgifter, inklusive partitionering av diskar och annat.
Men först vill jag kort berÀtta varför det Àr vÀrt att uppgradera till denna version frÄn alla tidigare, och det finns tvÄ anledningar till det:
- php7! I den tidigare versionen av CentOS installerades "ortodox" php5.4âŠ
Okej, om vi ska vara lite mer seriösa, sÄ har vÀldigt mÄnga paket hoppat över flera versioner. Vi (anhÀngare av redhat-baserade operativsystem) har Àntligen kommit in om inte i framtiden, sÄ Ätminstone i nuet. Och supportrar av Ubuntu kommer inte lÀngre att skratta Ät oss och peka finger, nÄvÀl⊠Ätminstone under en tid ;).
- ĂvergĂ„ngen frĂ„n yum till dnf. Huvudskillnaden Ă€r att det nu officiellt stöds att arbeta med flera versioner av paket samtidigt. Jag har inte behövt detta i Ă„ttan Ă€nnu, men det lĂ„ter lovande.
Skapa en virtuell maskin
Det finns olika hypervisorer och jag har ingen avsikt att inrikta lÀsaren pÄ en specifik; jag kommer att prata om allmÀnna principer.
Minne
För installation av CentOS-systemet, börjar med version 7, och enligt min mening sÄ var det Àven i 6 ocksÄ ("men det Àr inte sÀkert"), Àr det nödvÀndigt minimum 2 GB RAM. Jag rekommenderar dÀrför att ge sÄ mycket till en början.
Men om det krÀvs, kan mÀngden minne minskas efter installationen. Med 1 GB fungerar det rena systemet helt okej, jag har testat.
Enhet
För en korrekt installation bör du skapa en virtuell disk som Àr 20-30 GB stor. Det Àr tillrÀckligt för systemet. Och en andra disk för data. Den kan lÀggas till antingen i samband med skapandet av den virtuella maskinen eller senare. Jag brukar lÀgga till det senare.
Processor
PÄ ett kÀrna fungerar det rena systemet utan att hÀnga sig. Och eftersom resurserna enkelt kan skalas upp, ser jag ingen mening i att ge mer under installationen (sÄvida du inte perfekt kÀnner till kraven och Àr för lat för att gÄ in i konfigurationen igen)
Det övriga kan oftast lÀmnas som standard.
SjÀlva installationen
SÄ⊠Vi startar installationsprogrammet⊠Personligen har jag lĂ€nge installerat sĂ„dana tjĂ€nster som virtuella maskiner, sĂ„ jag kommer inte att beskriva hur man skriver distribueringsfiler till ett USB-minne â jag monterar bara ISO-filen som en CD-skiva i min favorit hypervisor, startar upp och kör.
Den grundlÀggande installationen gÄr ganska typiskt, jag kommer bara att stanna vid nÄgra punkter.
Val av kÀlla
Sedan den Ättonde versionens utgivning har Yandex-spegeln legat nere i flera dagar. Det vill sÀga, den gÄr upp periodvis, och sedan börjar den Äterigen visa fel. Jag Àr sÀker pÄ att det handlar om överbelastning pÄ tjÀnsten. SÄ för att ange kÀllan var jag tvungen att istÀllet för att ange den vanliga adressen, gÄ , vÀlja den spegel jag gillar och manuellt skriva in adressen i installationsprogrammet. HÀr Àr det viktigt att komma ihÄg att ange sökvÀgen till den mapp dÀr katalogen repodata. Till exempel, .
Partitionering av disk
Denna frÄga Àr mer religiös enligt min Äsikt. Varje administratör har sin egen stÄndpunkt i denna frÄga. Men jag kommer ÀndÄ att dela med mig av min Äsikt.
Ja, i princip kan man avsĂ€tta hela utrymmet till roten och det fungerar oftast ganska bra. Varför skulle man dĂ„ skapa olika partitioner? â Anledningen till detta Ă€r för mig enligt tvĂ„ skĂ€l: kvoter och portabilitet.
Till exempel, om nÄgot gÄr fel och det uppstÄr fel i huvudpartitionen med data, vill man ha möjlighet att fortfarande starta systemet och utföra ÄterstÀllningsÄtgÀrder. DÀrför avsÀtter jag personligen en separat partition för /boot. DÀr ligger kÀrnan och bootloadern. Vanligtvis rÀcker 500 megabyte, men i sÀllsynta fall kan mer behövas, och med tanke pÄ att vi redan Àr vana vid att mÀta utrymme i terabyte, avsÀtter jag 2GB för denna partition. Och hÀr Àr det viktigt att den inte kan göras som lvm.
DĂ€refter kommer roten av systemet. För en normal installation har jag aldrig behövt mer Ă€n 4GB just för systemet, men under planerade aktiviteter anvĂ€nder jag ofta katalogen /tmp för att packa upp distributioner, och att avsĂ€tta det som en separat partition ser jag ingen mening i â i moderna system rengörs den automatiskt, sĂ„ den fylls inte. SĂ„ jag avsĂ€tter 8GB för roten.
Swap⊠I det stora hela har det lite praktisk nytta. Om din server börjar anvÀnda swap idag betyder det bara att servern behöver mer RAM. Annars Àr prestandaproblem garanterade (eller sÄ lÀcker minnet nÄgon programvara). DÀrför behövs detta avsnitt bara för diagnostik. SÄ 2 GB Àr ett utmÀrkt vÀrde. Ja, oavsett hur mycket minne servern har. Ja, jag har lÀst alla de artiklar som handlar om förhÄllandet mellan minneskapacitet och swap-storlek⊠Enligt min Äsikt Àr de förÄldrade. Under 10 Ärs praktik har jag aldrig haft nytta av dem. För 15 Är sedan anvÀnde jag dem, ja.
Huruvida man ska avsĂ€tta /home i en separat partition, tycker jag att var och en fĂ„r avgöra sjĂ€lv. Om nĂ„gon aktivt kommer att anvĂ€nda den katalogen pĂ„ servern, Ă€r det bĂ€ttre att avsĂ€tta den. Om ingen kommer att anvĂ€nda den â finns ingen anledning.
DÀrefter, /var. Enligt min mening bör den absolut avsÀttas. Först kan man begrÀnsa sig till 4 GB, och se hur det gÄr. Och ja, med "hur det gÄr" menar jag att
- För det första kan man alltid montera en annan disk i underkatalogen /var (vilket jag senare kommer att visa med ett exempel)
- För det andra har vi ju LVM â man kan alltid lĂ€gga till. Och man tvingas ofta lĂ€gga till nĂ€r för mĂ„nga loggar börjar strömma dit. Men jag har aldrig kunnat förutsĂ€ga det hĂ€r beloppet i förvĂ€g, sĂ„ jag börjar med 2 GB och ser sedan.
Det outnyttjade utrymmet kommer att förbli ledigt i volymgruppen, och det kan alltid anvÀndas senare.
LVM
Alla Partitioner, förutom /boot, Àr meningsfulla att göra i LVM. Ja, inklusive swap. Ja, enligt alla rÄd bör swap ligga i början av disken, men i fallet med LVM kan dess plats i princip inte bestÀmmas. Men som jag skrev ovan, ditt system bör kom pÄ att anvÀnda swap över huvud taget. SÄ det spelar ingen roll var den ligger. Vi lever ju inte Är 95, Àrligt talat!
DÀrefter, i LVM finns det flera grundlÀggande entiteter som man mÄste kunna hantera:
- fysisk volym
- volymgrupp
- logisk volym
Fysiska volymer slÄs samman i grupper, dÀr varje fysisk volym kan vara i endast en grupp, medan en grupp kan bestÄ av flera fysiska volymer.
Och logiska volymer finns varje i en grupp.
Men⊠Vi lever ju faktiskt i 21:a seklet. Och vi har virtuella servrar. Det Àr meningslöst att anvÀnda samma mekanismer som anvÀndes för fysiska servrar. För virtuella servrar Àr det viktigt att ha data separat frÄn systemet! Detta Àr sÀrskilt viktigt för möjligheten att snabbt överföra data till en annan virtuell maskin (till exempel vid byte av operativsystem) och för all sorts anvÀndbara funktioner (separata sÀkerhetskopior av partitioner med hjÀlp av hypervisorn till exempel). DÀrför anvÀnds en volymgrupp för systemet och en annan för data! Denna logiska separation underlÀttar verkligen livet!
Om du vid skapandet av den virtuella maskinen endast skapade en virtuell hÄrddisk, slutar konfigurationen dÀr. Och om du skapade tvÄ, sÄ behöver du bara inte partitionera den andra Àn sÄ lÀnge.
Vi startar installationen.
Postinstallation
SÄ, Àntligen har det nyskapade systemet startat. Det första vi mÄste kontrollera Àr internetanslutningen.
ping ya.ru Fick vi svar? â UtmĂ€rkt, tryck pĂ„ Ctrl-C.
Om inte â gĂ„ och konfigurera nĂ€tverket, utan det gĂ„r livet inte, men min artikel handlar inte om det.
Nu, om vi inte redan Àr inloggade som root, loggar vi in som root, för att skriva sÄdant antalet kommandon med sudo Àr personligen lite trist för mig (och mÄ admin-paranoikerna förlÄta mig):
sudo -iNu skriver vi först
dnf -y updateOch om du lÀser den hÀr artikeln Är 2019, troligtvis kommer inget att hÀnda, men det var vÀrt att prova.
Nu ska vi konfigurera den ÄterstÄende disken
Anta att partitionen med systemet Àr xvda, dÄ blir datadisken xvdb. Okej.
De flesta rĂ„d kommer att börja med orden "Kör fdisk och skapa en partitionâŠ"
SÄ hÀr Àr grejen, det Àr!
inte korrekt. Jag upprepar en gĂ„ng till, eftersom det hĂ€r Ă€r viktigt! I det hĂ€r fallet Ă€r det skadligt att skapa partitioner pĂ„ en disk som anvĂ€nds av LVM, Ă€ven om det Ă€r en virtuell disk! Varje ord i denna mening Ă€r viktigt. Om vi arbetar utan LVM â dĂ„ Ă€r det nödvĂ€ndigt. Om vi har system och data pĂ„ disken â dĂ„ Ă€r det nödvĂ€ndigt. Om vi av nĂ„gon anledning vill lĂ€mna hĂ€lften av disken tom â Ă€r det ocksĂ„ nödvĂ€ndigt. Men vanligtvis Ă€r alla dessa antaganden rent teoretiska. För om vi beslutar att utöka utrymmet för den befintliga partitionen, Ă€r det lĂ€ttast att göra det just med en sĂ„dan konfiguration. Och bekvĂ€mligheten i administrationen vĂ€ger sĂ„ mycket mer att vi medvetet strĂ€var efter den hĂ€r konfigurationen.
BekvÀmligheten ligger i att om du vill utöka datasektionen sÄ lÀgger du helt enkelt till utrymme i den virtuella sektionen, varefter du expanderar gruppen med vgextend och allt Àr klart! I sÀllsynta fall kan det behövas nÄgot mer, men minst sagt behöver du inte utöka den logiska volym som redan finns, vilket Àr trevligt. IstÀllet rekommenderar de att först ta bort den befintliga volymen och sedan skapa en ny ovanpÄ⊠vilket inte ser sÀrskilt trevligt ut och inte kan göras live, medan utvidgning enligt det jag just nÀmnde kan utföras "on-the-fly" utan att montera sektionen.
SÄ, vi skapar en fysisk volym, sedan en volymgrupp som inkluderar den och dÀrefter en sektion för vÄr server:
pvcreate /dev/xvdb
vgcreate data /dev/xvdb
lvcreate -n www -L40G data
mke2fs -t ext4 /dev/mapper/data-www
HÀr kan du istÀllet för stort "L" (och storleken i GB) ange litet och dÀrmed anvÀnda relativ storlek; till exempel, för att anvÀnda hÀlften av det lediga utrymmet i volymgruppen just nu, mÄste du ange "-l +50%FREE".
Den sista kommandot formaterar sektionen i ext4 filsystemet (vilket, enligt min erfarenhet, för tillfÀllet visar bÀst stabilitet om nÄgot gÄr fel, sÄ jag föredrar det).
Nu monterar vi sektionen pÄ rÀtt stÀlle. För att göra detta lÀgger vi till rÀtt rad i /etc/fstab:
/dev/mapper/data-www /var/www ext4 defaults 1 2Och vi skriver in
mount /var/wwwOm det uppstĂ„r ett fel â slĂ„ larm! För det betyder att vi har ett fel i /etc/fstab. Och att vi vid nĂ€sta omstart kommer att ha stora problem. Systemet kanske inte ens startar, vilket ofta Ă€r mycket olyckligt för molntjĂ€nster. DĂ€rför mĂ„ste vi antingen snabbt Ă„tgĂ€rda den senaste tillagda raden eller ta bort den helt! Just dĂ€rför skrev vi inte in monteringskommandot manuellt â dĂ„ skulle vi inte fĂ„ möjlighet att kontrollera konfigurationen precis nu.
Nu installerar vi allt vi ville ha och öppnar portar för webb:
dnf groupinstall "Development Tools"
dnf -y install httpd @nodejs @redis php
firewall-cmd --add-service http --permanent
firewall-cmd --add-service https --permanent
Om man vill kan man ocksĂ„ installera databasen hĂ€r, men personligen försöker jag hĂ„lla den separat frĂ„n webbservern. Ăven om det Ă€r snabbare att ha den nĂ€ra, visst. Hastigheten pĂ„ virtuella nĂ€tverkskort ligger vanligtvis runt en gigabit, och nĂ€r man arbetar pĂ„ samma maskin sker kommunikationen nĂ€stan omedelbart. Men det Ă€r mindre sĂ€kert. HĂ€r handlar det om vad som Ă€r viktigast för en.
Nu lÀgger vi till en parameter i konfigurationsfilen (skapar en ny, den moderna idéen med CentOS Àr sÄdan)
echo "vm.overcommit_memory = 1" > /etc/sysctl.d/98-sysctl.conf Starta om servern.
I kommentarerna blev jag kritiserad för rÄd om att stÀnga av SeLinux, sÄ jag ska rÀtta till det och skriva att man efter detta inte fÄr glömma att konfigurera SeLinux.
SĂ„, profit! đ
KĂ€lla: habr.com
