|
|
(18 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{TOCright}}
| + | Has been moved to: http://blog.kr8.de/wiki-nas-eigenbau/ |
− | == Make or Buy ==
| |
− | Gerade rechtzeitig am 8.12.2008 erscheint das ct magazin 26/2008 mit einem Artikel über den "Netzspeicher im Eigenbau".
| |
− | | |
− | Nachteil der kommerziellen [[NAS]]-Lösungen ist bekanntlich:
| |
− | * Teuer (RAID-5 mit 1 TB = 1000 EUR)
| |
− | * Langsam
| |
− | | |
− | == Feasability Study ==
| |
− | Ich will ersteinmal in einem Versuch klären, ob ich das alles so hin bekomme.
| |
− | | |
− | === Ausgangsmaterial ===
| |
− | * Alter PC mit zwei S-ATA Platten mit je 160 GB, die als Hardware-RAID konfiguriert waren
| |
− | * IDE-Schittstelle mit alter IDE-Festplatte
| |
− | | |
− | === Zielsetzung des Tests ===
| |
− | * Installation von CentOS zum Booten von der IDE-Festplatte
| |
− | * Erkennung der zwei S-ATA-Festplatten
| |
− | * Freigabe der S-ATA-Festplatten als SMB-Shares, sodaß sie von meinen Windows-Computern mit Schreibrechten nutzbar sind
| |
− | | |
− | === Installation von CentOS ===
| |
− | CentOS besorge ich mir als ISO-Image im Internet. Die Server, die das anbieten, sind alle sehr langsam. Der Download dauert über eine Stunde.
| |
− | | |
− | Nun muss ich das ISO-Image auf einen Datenträger brennen. Da ich zuvor einen Versuch mir '''FreeNAS''' gemacht habe nehme schnell wieder einen CD_Rohling zur Hand und starte '''Deep Burner'''. Tja der bricht ab und sagt nichts weiter. Kann man mehrfach versuchen und ein paar CD-Rohlinge dann wegwerfen. Irgenwann kommt dann die Erleuchtung: Ich brauche einen DVD-Rohling, denn CentOS ist so 4 GB groß. Gut da habe ich selber Schuld, aber das hat schon mal den ersten Abend nutzlos dahin gehen lassen.
| |
− | | |
− | Morgens mit frischen Kräften nun die DVD mit CentOS gebrannt und flugs installiert. Klappt bestens.
| |
− | | |
− | Bei der Installation von CentOS ist folgendes wichtig:
| |
− | * Name des Servers: "Per DHCP" ist nicht so sinnvoll, ich gebe als Name ein: "baerchen.kr8.de"
| |
− | * Das Kästchen '''Server''' sollte angekreuzt werden, dann wird der '''Samba-Server''' (Daemon) mit installiert
| |
− | * Ich kreuze zusäzlich noch "Server GUI" an, dann kommt noch ein grafisches LVM mit dazu
| |
− | | |
− | So nun müssen die beiden S-ATA-Platten noch zum Fliegen gebracht werden. Dazu ist notwendig:
| |
− | * Im AMIBIOS "Integrated Peripherals" -> "OnBoard PCI Controller" -> "P20378 S.ATA Controller" umschalten von "RAID" auf "SATA"
| |
− | * S-ATA-Platten mit Filesystem "EXT3" formatieren
| |
− | * Mount-Punkte einrichten
| |
− | ** su
| |
− | ** cd /mnt
| |
− | ** mkdir disk1
| |
− | ** mkdir disk2
| |
− | ** chmod 777 disk1
| |
− | ** chmod 777 disk2
| |
− | * Platten mounten
| |
− | ** mount -t ext3 /dev/sda1 /mnt/disk1
| |
− | ** mount -t ext3 /dev/sdb1 /mnt/disk2
| |
− | * Wenn soweit erfolgreich, fest in Datei '''/etc/fstab''' eintragen
| |
− | ** /dev/sda1 /mnt/disk1 ext3 defaults 0 0
| |
− | ** /dev/sdb1 /mnt/disk2 ext3 defaults 0 0
| |
− | | |
− | === Freigaben mit Samba ===
| |
− | | |
− | Dann sollen die beiden Platten per '''Samba''' freigegeben werden. Dazu ist folgendes nötig:
| |
− | * http://www.samba.org/samba/docs
| |
− | * User-Verwaltung: ???? ich weis nicht was da die schlichteste Lösung ist... ( /etc/samba/smb.conf: security = user )
| |
− | * Samba-Dienst starten: > System > Administration > Server Settings > Services:
| |
− | ** Dort "smb" ankreuzen
| |
− | * Samba-Dienst konfigurieren: > System > Administration > Server Settings > Samba
| |
− | ** Dort: > Preferences > Server Settings
| |
− | *** Dort: > Basic > Workgroup: "Name meiner Windows-Workgroup"
| |
− | *** Dort: > Security > Authentication Mode: "User" (Alternativ: "Share", "Server", "Domain", "ADS")
| |
− | *** Und: > Security > Guest Account: "meine CentOS-UserID"
| |
− | ** Weiter: > Preferences > Samba Users
| |
− | *** Hier kann man User-Namen eingeben, die in der Datei /etc/samba/smbusers gespeichert werden (unix name = sam name)
| |
− | *** Standardmäßig ist "security = user" aber noch auskommentiert
| |
− | *** Scharfgeschaltet ist aber schon: passdb backend = tdbsam
| |
− | | |
− | === Remote Administration ===
| |
− | Elegant wäre natürliche ein Betrieb des NAS-Servers ohne Bildschirm, Tastatur und Maus.
| |
− | | |
− | Die Administratin könnte dann über ein schönes Web-Interface gehen, do wie bei der [[Buffalo LinkStation]] oder wie auch beim '''FreeNAS''' (http://www.freenas.org).
| |
− | | |
− | | |
− | ==== VNC Server ====
| |
− | Bei CentOS gibt es kein speziell für diesen Zweck entwickletes WebGUI. Was bleibt, ist die generelle Möglichkeit des [[RemoteControl]] z.B. mit [[VNC]].
| |
− | * http://wiki.centos.org/HowTos/VNC-Server
| |
− | Merkwürdigerweise funktioniert so einiges, was in dem speziell für CentOS geschriebenen '''How To''' nicht in meiner Installation.
| |
− | | |
− | ===== Sterten und Stoppen des vncservers =====
| |
− | Das Starten und Stoppen des '''vnc-servers''' gelingt nicht mit dem im '''Know How''' beschriebenen Befehl:
| |
− | <br />z.B. der Befehl
| |
− | "service vncserver start"
| |
− | bringt ein lapidares:
| |
− | '''bash: service: command not found'''
| |
− | | |
− | Das Starten und Stoppen gelingt aber im '''Gnome Desktop''' über das Menü ''> System > Administration > Server Settings > Services''
| |
− | | |
− | ===== Anlegen von VNC-Usern =====
| |
− | Als User für VNC nehme ich die schon vorhendenen (oder zusätzlich anzulegende) CentOS-User.
| |
− | | |
− | Jeder CentOS-user hat zwar schon ein Passwort, aber für VNC muss zusätzlich ein VNC-Passwort angelegt werde. Dazu muss sich der user ins CentOS einloggen und dann den befehl '''vncpasswd''' eingeben. Dadurch wird für ihn ein File '''passwd''' im Ordner '''/home/jeweiligerusername/.vnc''' angelegt.
| |
− | | |
− | | |
− | ===== Server Configuration =====
| |
− | Editieren der Datei: /etc/sysconfig/vncservers
| |
− |
| |
− | VNCSERVERS="1:usereins 2:userzwei 3:userdrei"
| |
− | VNCSERVERARGS[1]="-geometry 640x480"
| |
− | VNCSERVERARGS[2]="-geometry 640x480"
| |
− | VNCSERVERARGS[1]="-geometry 800x600"
| |
− | | |
− | | |
− | ===== User Start-Up =====
| |
− | For each user, login and go to the folder '''\home\derusername\.vnc'''
| |
− | | |
− | Edit the file '''xstartup''' e.g. with gedit ''xstartup''
| |
− | | |
− | #!/bin/sh (-)
| |
− | # Add the following line to ensure you always have an xterm available.
| |
− | ( while true ; do xterm ; done ) &
| |
− | # Uncomment the following two lines for normal desktop:
| |
− | #unset SESSION_MANAGER
| |
− | #exec /etc/X11/xinit/xinitrc
| |
− | [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
| |
− | [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
| |
− | xsetroot -solid grey
| |
− | vncconfig -iconic &
| |
− | xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
| |
− | #twm &
| |
− | exec gnome-session &
| |
− | | |
− | Im Normalfall, soll heissen wenn auf dem CentOS-Computer bereits ein User angemeldet ist und den Gnome-Desktop laufen hat, geht das eigentlich immer klar. Die "Feinheiten" dieses Skripts kommen zum Tragen, wenn:
| |
− | * Noch kein User eingeloggt ist (sollte später der Normalfall werden)
| |
− | * Die VNC-Session gestoppt und wieder neu gestartet werden soll
| |
− | | |
− | | |
− | -- [[User:Dkracht|Dkracht]] 19:45, 17 December 2008 (CET)
| |