Difference between revisions of "NAS Eigenbau"
(→Freigaben mit Samba) |
(→Remote Administration) |
||
Line 73: | Line 73: | ||
Elegant wäre natürliche ein Betrieb des NAS-Servers ohne Bildschirm, Tastatur und Maus. | Elegant wäre natürliche ein Betrieb des NAS-Servers ohne Bildschirm, Tastatur und Maus. | ||
− | Die | + | Die Administration 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 ==== | ==== VNC Server ==== |
Revision as of 15:35, 28 December 2008
Contents |
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 (z.B. Buffalo LinkStation) 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
- 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
- Manuelle Installation/Konfiguration:
- sudo apt-get install samba-common (Voraussetzung: Internet mit Namensauflösung)
- sudo gedit /etc/samba/smb.conf dort security = user eintragen
- Samba-User anlegen: smbpasswd
- Samba-Freigaben einrichten: ....
- Samba-Freigaben auflisten: smbclient -L <hostname>
- Dort: > Preferences > Server Settings
Remote Administration
Elegant wäre natürliche ein Betrieb des NAS-Servers ohne Bildschirm, Tastatur und Maus.
Die Administration 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.
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:
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
-- Dkracht 19:45, 17 December 2008 (CET)