IPCop-Forum.de

www.ipcop-forum.de


IPCop-Community
CL-Systems
Home Home   Doku Doku   Links Links   Downloads Downloads
UnIPCop Der (Un)IPCop   IFS IPCop-ForumSpy
CopTime CopTime   Galerie IPCop-Galerie   IPCop Userkarte Userkarte
Aktuelle Zeit: 29.06.2017, 14:19

Alle Zeiten sind UTC+02:00




Ein neues Thema erstellen  Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 2 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 15.12.2007, 15:48 
Offline
Site-Moderator
Themenstarter
Site-Moderator
Benutzeravatar

Registriert: 05.04.2006
Beiträge: 4871
Wohnort: Oberbergischer Kreis
Hallo Community,

da immer wieder viele Fragen rund um das Thema mkflash und CF-Karte auftauchen und der Thread Modifiziertes mkflash zugegebenermaßen ein wenig unübersichtlich geworden ist, habe ich mal versucht, alles Wissenswerte zusammenzufassen.

Diese FAQ setzt eine vollständige Installation auf CF-Karte vorraus :!:
(siehe dazu auch die Links unter Punkt 5)

Weiterhin sei gesagt, dass dies hier zum einen der Fehlersuche und zum anderen dafür gedacht ist, die CF-Karteninstallation noch zu "verfeinern" und auf seine eigenen speziellen Bedürfnisse anzupassen!


1. Grafik für Schreibzugriffe anpassen

Um CF-Karten taugliche Grafiken für die Schreibzugriffe zu bekommen muß man in der Datei /usr/local/bin/makegraphs folgende Modifikationen vornehmen. Diese putzen erstmal die Lesezugriffe aus der Grafik, welche nicht wirklich interessant sind! :wink:

Code:
sub updatediskgraph {
   my $period    = $_[0];

   RRDs::graph ("$graphs/disk-$period.png",
      "--start", "-1$period", "-aPNG", "-i", "-z",
      "--alt-y-grid", "-w 600", "-h 100", "-l 0", "-r",
      "--color", "SHADEA#EAE9EE",
      "--color", "SHADEB#EAE9EE",
      "--color", "BACK#EAE9EE",
      "-t $tr{'disk access per'} $tr{$period}",
#      "DEF:read=$rrdlog/disk.rrd:readsect:AVERAGE",
      "DEF:write=$rrdlog/disk.rrd:writesect:AVERAGE",
#      "AREA:read#0000FF:$tr{'sectors read from disk per second'}\\j",
      "STACK:write#00FF00:$tr{'sectors written to disk per second'}\\j",
      "AREA:write#00FF00:$tr{'sectors written to disk per second'}\\j",
#      "GPRINT:read:MAX:$tr{'maximal'} $tr{'read sectors'}\\:%8.0lf",
#      "GPRINT:read:AVERAGE:$tr{'average'} $tr{'read sectors'}\\:%8.0lf",
#      "GPRINT:read:LAST:$tr{'current'} $tr{'read sectors'}\\:%8.0lf\\j",
      "GPRINT:write:MAX:$tr{'maximal'} $tr{'written sectors'}\\:%8.0lf",
      "GPRINT:write:AVERAGE:$tr{'average'} $tr{'written sectors'}\\:%8.0lf",
      "GPRINT:write:LAST:$tr{'current'} $tr{'written sectors'}\\:%8.0lf\\j");
   $ERROR = RRDs::error;
   print "Error in RRD::graph for disk: $ERROR\n" if $ERROR;
}


Wenn man jetzt noch die "Spitzen" aus der Grafik entfernen will, muß man noch die folgende Zeile
Code:
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-r",

abändern in
Code:
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 0.5", "-r",


2. Wie findet man heraus, wer oder was auf meine CF-Karte schreibt?

Um nun herauszufinden wer oder was die Schreibzugriffe auf der CF-Karte verursacht, bietet sich z.B. der folgende Befehl an:
Code:
find / -mmin -100 | grep -v "/ram" | grep -v "/proc"

Wobei hier das -100 die Zeit in Minuten ab dem aktuellen Zeitpunkt zurück bedeutet.


3. Die F(crontab) / Anpassungen

Die beiden Einträge, die in Zusammenhang mit mkflash von Bedeutung sind, sind Folgende: (anzuzeigen mit fcrontab -l, zu ändern mit fcrontab -e)
Code:
# Log rotation
22 2 * * *      /usr/sbin/logrotate /etc/logrotate.conf

# Backup logs to flashdisk
32 2 * * 0      [ -f "/etc/FLASH" ] && /etc/rc.d/rc.flash.down

Dies ist ein Auszug aus meiner Crontabelle!

Der erste Eintrag bewirkt, dass täglich um 2.22 Uhr die Logdateien rotiert werden. Näheres dazu dann im nächsten Abschnitt dieser FAQ.

Der zweite Eintrag bewirkt, dass jeden Sonntag um 2.32 Uhr der Inhalt der Ramdisk (also Log-Dateien, Grafiken...) in komprimierter Form auf die CF-Karte zurückgeschrieben werden.

Wie oft und wann das jeweils geschehen soll, muß jeder selbst entscheiden. Das kommt auf die individuellen Bedürfnisse und auf die "Wichtigkeit" der LOG-Dateien an!
Wem es also "egal" ist, dass die Log-Dateien von z.B. einer Woche durch einen Stromausfall verloren gehen, der kommt mit meiner Einstellung ganz gut zurecht. :wink:

Jetzt fragt Ihr Euch sicherlich, warum das soviel ausmacht...
Beide Einträge erzeugen reichlich Schreibzugriffe auf der CF-Karte.

Bild

Um das zu verhindern/zu minimieren sind die Anpassungen an dieser Stelle sehr entscheidend :!:

Näheres zur Funktion der (F)crontab findet sich z.B. hier:
:arrow: http://fcron.free.fr/doc/en/fcrontab.5.html


4. Logrotate / Anpassungen

Hier als Beispiel mal meine logrotate.conf: (Anzuzeigen mit cat /etc/logrotate.conf, anzupassen mit z.B. vi /etc/logrotate.conf)

Hilfe zu vi findet sich hier: :arrow: http://www.ipcop-forum.de/forum/viewtopic.php?t=4085
Code:
# rotate log files daily
daily

# keep 3 days worth of backlogs
rotate 3

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

size=2M

# wtmp
/var/log/wtmp {
    weekly
    create 0664 root utmp
    rotate 1
}

/var/log/httpd/access_log /var/log/httpd/error_log /var/log/httpd/ssl_request_log /var/log/httpd/ssl_engine_log {
    missingok
    sharedscripts
    size=2M
    postrotate
        /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}

/var/log/snort/alert  {
    weekly
    copytruncate
    compress
    ifempty
    missingok
    postrotate
        /usr/bin/find /var/log/snort -path '/var/log/snort/[0-9]*' -prune -exec /bin/rm -rf {} \;
        /usr/bin/find /var/log/snort -name 'snort.log.*' -mtime +28 -exec /bin/rm -rf {} \;
        /usr/local/bin/restartsnort
    endscript
}

/var/log/squid/access.log /var/log/squid/user_agent.log /var/log/squid/referer.log {
    weekly
    copytruncate
    ifempty
    missingok
}

/var/log/squid/cache.log {
    weekly
    rotate 3
    copytruncate
    compress
    missingok
}

/var/log/squid/store.log {
    weekly
    rotate 3
    copytruncate
    compress
    missingok
    postrotate
        /bin/chmod -R ugo+rX /var/log/squid
        /usr/sbin/squid -k rotate
    endscript
}

/var/log/messages /var/log/boot.log /var/log/dhcpcd.log {
    create 664 root syslogd
    sharedscripts
    size=2M
    missingok
    ifempty
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Entscheidend sind hier mehrere Dinge:

1. Die Häufigkeit der Rotation:
in meinem Beispiel daily.

2. Wie lange sollen die LOG-Files aufgehoben werden?
In meinem Beispiel 3 Tage (rotate 3)

3. Maximale Größe der LOG-Files:
in meinem Beispiel 2 MB (size=2M).
Dies findet sich an mehreren Stellen in der /etc/logrotate.conf.

Auch hier gilt wieder, dass diese Einstellungen jeder für sich anpassen muß.
Dies ist abhängig von der Größe des RAMs (Ramdisk) und davon, wie lange die LOG-Files aufgehoben werden sollen!


5. Links zum Thema

Hier noch ein paar Links, die zum Thema passen:

:arrow: Schreibzugriffe auf CF-Karte minimieren
:arrow: Modifiziertes mkflash
:arrow: Vorgefertigte Images für Compact Flash Karten
:arrow: Modifiziertes mkflash von zisoft
:arrow: Cop2CF von zisoft


Dies ist noch lange nicht alles, und ich werde es nach Bedarf auch noch erweitern. Aber mit diesen Hilfen sollte man zum größten Teil erstmal selbst auf Fehlersuche gehen können. :wink:

...to be continued...


PS: Wenn ich hier irgendwelche Fehler eingebaut haben sollte, dann bitte melden. Verbesserungsvorschläge sind natürlich auch willkommen. :D

Bei Problemen aber bitte nur den dafür vorgesehenen Thread im Modifikationsforum benutzen :!: (siehe Punkt 5)

_________________
Gruß, Manuel

Bild Bild


Zuletzt geändert von proenz am 02.09.2011, 20:18, insgesamt 1-mal geändert.
Korrekturen...


Nach oben
   
 
BeitragVerfasst: 10.10.2010, 10:20 
Offline
Site-Moderator
Themenstarter
Site-Moderator
Benutzeravatar

Registriert: 05.04.2006
Beiträge: 4871
Wohnort: Oberbergischer Kreis
Es ist an der Zeit, noch zwei weitere Punkte in diese Anleitung aufzunehmen.


6. Größe der Ramdisk anpassen/verändern

Die Ramdisk, wie der Name schon vermuten lässt, liegt im RAM des IPCop. Hierhin wird alles
ausgelagert, was viele Schreibzugriffe auf der CF-Karte verursachen würde. Z.B. sämtliche
Logdateien, die Grafiken vom Web-GUI und auch der Proxy-Cache. Die Ramdisk ist nichts
anderes als eine zusätzliche Partition im RAM des IPCop-Rechners.

Die Standardgröße der Ramdisk nach einer Installation auf CF-Karte beträgt 32 MB.
Dies reicht in der Regel vollkommen aus und führt nur selten zu Problemen.

Jetzt kann es aber vorkommen, dass man mehr Platz auf der Ramdisk braucht (größere Logdateien,
Proxycache o.ä.). Hierzu kann man mit recht einfachen Mitteln die Größe der Ramdisk verändern.

Direkt an der Konsole von IPCop oder via Putty muss die Datei
Code:
/boot/grub/grub.conf
angepasst werden. Es gibt dort eine Zeile, die wie folgt aussieht:
Code:
kernel /vmlinuz root=/dev/hda4 panic=10 acpi=off ro ide=nodma ramdisk_size=32768
Hier muss der Wert ramdisk_size ensprechend angepasst werden.

  • 32 MB => 32768
  • 64 MB => 65536
  • 128 MB => 131072
  • 256 MB => 262144
  • usw.

Nach der Änderung muss IPCop neu gestartet werden!

Die Größe der Ramdisk hängt natürlich von der Größe des vorhandenen RAMs im IPCop Rechner ab.
Als groben Richtwert würde ich erstmal immer mit der Hälfte des RAMs beginnen und dann die
Auslastung von RAM und Ramdisk beobachten.
Code:
free
df -h


7. Proxy-Cache und Ramdisk

Diesen Punkt will ich als extra Punkt aufnehmen, um weiterer adminöser Cacheritis™ und dem
drohenden Schockzustand eines bestimmten Admins hier im Forum vorzubeugen. :wink:

Vorneweg: Der Proxy-Cache liegt bei einer Installation auf CF-Karte in der Ramdisk!

Somit werden keinerlei Schreibzugriffe verursacht.

O.g. Admin hat unter folgendem Link mal ein paar tatsächliche Werte zusammengefasst:
:arrow: http://www.ipcop-forum.de/forum/viewtopic.php?p=144655#p144655

Bei meinem privaten IPCop sieht das Verhältnis RAM -> Ramdisk -> Proxy-Cache wie folgt aus:

256 MB -> 192 MB -> 96 MB


Je nachdem welche zusätzlichen Dienste auf dem IPCop laufen oder eben nicht laufen, kann sich
dieses Verhältnis nach unten oder oben verändern. Dies muss im Einzelfall ausprobiert werden.

_________________
Gruß, Manuel

Bild Bild


Nach oben
   
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 2 Beiträge ] 

Alle Zeiten sind UTC+02:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu Forum:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de