WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Partitionering för att köra webbserver mysql/PHP (https://www.wn.se/forum/showthread.php?t=10702)

Danielos 2005-11-04 17:42

Ska på måndag installera Debian på en maskin med raid 1 på 36 Gb. Hur ska man paritionera bäst? Någon som har erfarenhet över hur /var och /tmp växer på Debian med mysql? Visst har man hållt på en del tidigare, men jag har aldrig kört i kommersiell webbproduktion tidigare. Jag har 2 Gb i minne och tänkt mig:

swap 2 gb

/ 6 gb
/home 18 gb
/var 10gb
/tmp -> (hårdlänk) /var/tmp (Detta för att få bort /tmp från root partitionen)

Tanken är att lägga /var på nya diskar när det blivit för stor.

Hur är det ska man köra med 1024 i block size när det handlar om Mysql? Eller måste kerneln då läsa i 1024 block?
Någon vänlig erfaren själ som har någon idé för eller emot detta?

kullervo 2005-11-04 18:38

Först och främst skulle jag lägga /usr på egen partition monterad ro.

Databasen skulle också få hamna på egen partition dels för att kunna placera den nära centrum på hårddiskarna och dels för allmän flexibilitet. Dessutom är det mest diskaccess för databasen och därför kan det vara bra att filerna inte är utspridda över en större partition.

Om du kan montera /var nosuid,noexec så gör det inget att ha tmp där, men annars skulle jag lägga /tmp på egen partition för att kunna montera nosuid,noexec. Du behöver föresten inte göra en hård länk från /tmp utan en symlink funkar fint.

Vad har du tänk använda /home till? Låter som att den är 100% för stor.

Angående block size så har det helt och hållet med vilket filsystem du använder. Jag kör Reiserfs 3.6 på allt förutom /tmp och planerar snart att gå över till Reiserfs 4 på de stora diskarna. Jag kan inte tänka mig att inte Reiserfs skulle vara det filsystemen som ger bäst prestenda för databaser av de 6 vanligaste filsystemen. Backar inte upp det påståendet med någon fakta.

Om du har ont om diskutrymme så borde du kunna pruta lite på swappartitionen.

Lite allmänna tips:
Montera med noatime på alla partitioner du tycker att det inte gör någon skada på (ger bättre prestanda). Bör ej användas på root.

Montera med nodev,nosuid,noexec överallt du kan.

kullervo 2005-11-04 19:02

Föresten, du frågar om hur /tmp och /var växer med tiden. Jag förstår inte vad du menar. Visst, under /var/log har man ju normalt alla loggfiler och beroende på vad du väljer att logga och om du roterar samt komprimerar eller ej kan de bli rätt stora, men det är ju ingen storlek för en modern hårddisk med många GiB kapacitet. Dessutom känns det rätt menlöst att ha 3 år gamla loggar som man ändå aldrig kommer gå igenom. Loggar bör ju dessutom föras över till en annan burk av säkerhetsskäl. Värt att nämna är att syslogd har stöd för loggning över nätverk. Resten som ligger på /var är ju inte annat än vad du själv väljer att lägga där. Ofta webbroot:en samt email och kanske också databas. Du har bästa koll på det själv vad du behöver.

/tmp bör inte innehålla mycket. En handfull MiB kanske. Hårddisk är billigt så släng på 1GiB så har du så du klarar dig många gånger om.

Jag föredrar att ha två separata partitioner för loggfiler. Den första partitionen ligger alla aktiva loggfiler på. När dessa loggfiler ska roteras komprimerar jag dom först och lägger dem sedan på den andra loggpartitionen. Det finns tre anledningar till att ha separata partitioner för detta. Dels för att det ofta skrivs små mängder till loggfilerna. Det gör att filsystemet blir onödigt fragmenterat. Nu är fragmentation inget större problem på normala filsystem för Linux men man behöver ju jävlas med filsystemen för det. Den andra anledningen är att förhindra att det tar slut på ledigt utrymme på en viktig partition. Anledning tre är att spara diskutrymme. Ganska onödigt att spegla loggpartitionerna.

Danielos 2005-11-04 20:04

Ok, en sammanställning, vad tror ni?

swap 2 gb

/ 400 mb
/tmp 600 mb nosuid,noexec
/var 23 gb nosuid,noexec
/usr 6 gb ro
/usr/local 4 gb nosuid
/home -> /usr/local/home (home kommer knappt att användas)

kullervo 2005-11-04 21:03

Varför skilja på /usr och /usr/local?

Qmail brukar ligga i /var/qmail och den kräver att man inte monterar nosuid eller noexec. Om det blir problem får du helt flytta den till /usr och skapa symlink från /var/qmail

Vad är vitsen med att flytta /home från root till /usr/local?

Danielos 2005-11-04 21:09

Tack, du har rätt

swap 2 gb

/ 400 mb
/tmp 600 mb nosuid,noexec
/var 23 gb suid,exec
/usr 10 gb nosuid

Danielos 2005-11-05 09:27

kullervo, vad tror du om detta?

/ 512MB ext2 mountoption:errors=remount-ro
/usr 5GiB reiserfs mountoption:rw,nodev
/home 512MiB reiserfs mountoption:rw,nosuid,nodev
/var 25GiB reiserfs mountoption:rw,nosuid,nodev
/tmp 512MiB reiserfs mountoption:rw,nosuid,nodev

Vart lägger du public_html på dina sidor, i /var ?

kullervo 2005-11-05 09:37

ext2? Det är ju inte journalförande. Om du nu vill ha stenåldersfilsystem så använd åtminstonde ext3 som är ext2 i grund och botten fast med journalförande egenskaper. Det går t.om. att konvertera ext2 till ext3.

Jag skulle som sagt vilja ha /usr ro. Det tar ju bara en sekund att göra remount till rw på den.

Jag utfår från att det där är den fysiska ordningen på partitionerna. Eftersom /tmp är liten och bör vara snabb borde den ligga högre upp på listan.

Om du har utrymme kan det vara bra att spara en partition på någon GiB för framtida bruk.

Annars ser det bra ut. Är ju inte så kinkigt hur man gör.

/var är till för variabel data. Alltså borde webbrooten ligga där.

Danielos 2005-11-05 10:33

Citat:

Eftersom /tmp är liten och bör vara snabb borde den ligga högre upp på listan.
Är det det inte högre prestanda närmare centrum på disken, allstå /tmp sist närmast centrum?

Danielos 2005-11-05 11:04

Citat:

Eftersom /tmp är liten och bör vara snabb borde den ligga högre upp på listan.
Du har rätt, jag har läst att:
Put each swap partition on the outer tracks.

Innebär längst ner i listan och längst ut på disken.

Citat:

Jag skulle som sagt vilja ha /usr ro. Det tar ju bara en sekund att göra remount till rw på den.
Vad är anledning till ro, hackar någon sig in kan han ju lätt remounta den med rw?


Fast det är en sak som jag undrar över:
Citat:

/var är till för variabel data. Alltså borde webbrooten ligga där.
Eftersom jag inte vill gå in på ftp som root så vill man ju ha ett användarkonto för att uppdatera php-filer. Är det inte bättre då med /home/useraccount/public_html än att ha en webbsidor med username som ägare i /var Eller laddar du upp som user och flyttar över inloggad som root?


Alla tider är GMT +2. Klockan är nu 16:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson