Poni?ej przedstawi? sposób instalacji Debiana na urz?dzeniu NAS DLink'a dns323 w wersji B1. Debian od jakiego? ju? czasu udost?pnia firmware do zainstalowania na tym urz?dzeniu na swoich serwerach. Oprogramowanie jest w wersji stabilnej i jest umiesczony na serwerach lustrzanych. Poni?sza instalacja nie b?dzie bazowa?a na wtyczkach fun_plug do oryginalnego firmware. Debiana zainstalujemy bezpo?rednio na urz?dzeniu usuwaj?c jednocze?nie firmware oryginalny. Po operacji podmiany firmware nie ma jakiego? wi?kszego problemu z powrotem. Oryginalny firmware mo?emy wgra? poprzez uboot z powrotem je?li zainstnieje taka potrzeba. Urz?dzenie posiada równie? port RS232 TTL 3.3V poprzez który mo?emy dosta? si? do urz?dzenia.
Za?o?enia:
Instalujemy debiana w wersji podstawowej. Na urz?dzeniu mamy zainstalowane dwa identyczne dyski SATA o takiej samej pojemno?ci. Z tych dwóch dysków tworzymy macie? RAID 1 (lustro). Przeznaczeniem uz?dzenia b?dzie przetrzymywanie kopii plików dlatego b?dzie utworzona macie?.
Oczywi?cie w czasie instalacji debiana doprowadzimy do momentu kiedy nasz dns323 b?dzie w pe?ni obs?ugiwa? wbudowany czujnik temperatury, wentylator, diody, przycisk jako wy??czenie urz?dzenia.
Instalacje przeprowadzimy z poziomu windows.
Adres ip dns323: 192.168.1.2
Maska dns323 : 255.255.255.0
Brama dla dns323: 192.168.1.1
DNS dla dns323: 192.168.1.1
Dyski (350GB) b?d? dzielone na partycje:
Pierwsza partycja ok.256MB i b?dzie to swap
Druga partycja to pozosta?a wielko?? dysku czyli ok. 499GB któr? b?dzie macie? raid (md0)
Dyski w systemie s? widziane jako /dev/sda oraz /dev/sdb
Oba dyski b?d? dzielone identycznie. Generalnie b?dziemy mie? dwa swapy po jednym na ka?dym z dysków.
Macie? formatujemy na ext4
Uwagi do instalacji:
Dns323 posiada 64MB RAM. W zasadzie to wystarcza do normalnej pracy. Jednak?e wersja instalacyjna to mniej wi?cej taki ma?y live pobierany sieciowo. Czyli w czasie instalacji s? z internetu pobierane pakiety i instalowane w pami?ci RAM na czas instalacji. W wi?kszo?ci przypadków nie powinno by? problemu z instalacj? i pami?ci winno wystarczy?. Jednak?e przy instalacji RAID (i pewnie w paru innych przypadkach) jej po prostu zabraknie. Aby sobie z tym poradzi? skorzystamy ze swap na dysku na którym b?dziemy przeprowadzali instalacj?.
Chcia?bym zaznaczy?, ?e za?o?eniem tego opisu jest przeprowadzenie instalacji bez dost?pu do dysku. Znaczy si? tak jakby?my nie mogli przeprowadzi? parrtycjonowania np. na innym komputerze lub za pomoc? adaptera USB.
W zwi?zku z powy?szym ca?? instalacj? przeprowadzimy na dns323 ??cznie z partycjonowaniem. To wymusza od nas po wst?pnym partycjonowaniu przerwa? instalacj? i zacz?? j? od pocz?tku ale ju? z podmontowan? partycj? swap. Od tego momentu bezproblemowo przeprowadzimy instalacj?.
Ps. Je?li jednak mamy dost?p np. do przej?ciówki USB lub pod??czymy dysk do innego komputera warto za?o?y? sobie partycje. Wtedy unikniemy ponownego restartowania systemu bo ju? na pocz?tku mo?emy podmontowa? swap.
Pobieranie:
Pobieramy firmware debiana z serwerów czyli
ftp://ftp.uk.debian.org/debian/dists/squeeze/main/installer-armel/20110106+b1/images/orion5x/network-console/d-link/dns-323/netboot.img
Zwaracam tutaj uwag? na link do pliku netboot.img. Firmware jest w debianie lennym, teraz w squeeze. Wersje instalacyjne sa ci?gle poprawiane wi?c katalog z dat? równiez mo?e ulec zmianie. Po prostu jakby by?y problemy z tym linkiem trzeba wej?? po koleji przez przegl?darke i upewni? si? ?e nie zmienili nazwy ?cie?ki. Na dzi? dzisiejszy ten link jest prawid?owy dla debiana squeeze.
Przygotowanie do instalacji dns323:
Urz?dzenie musimy sobie wst?pnie skonfigurowa? przed instalacj?. Znacznie nam to u?atwi proces instalacji debiana.
A wi?c logujemy si? na urz?dzenie do oryginalnego firmware i nadajemy adres statyczny ip, bram?, dns.
po wprowadzeniu zmian zapisujemy je w urz?dzeniu i restartujemy dns323.
Ma?e wyja?nienie:
Otó? urz?dzenie w czasie uruchomienia szuka adresu ip wedle nast?puj?cej kolejno?ci:
- Je?li jest on statyczny (jak wy?ej ustawili?my) to ?adowany jest adres ustawiony przez nas
- Je?li ustawione jest pobieranie adresu z serwera DHCP i serwer znajduje si? w sieci LAN to pobierany jest adres ip z serwera DHCP.
- Je?li ustawione jest pobieranie adresu z serwera DHCP i w sieci LAN nie ma uruchomionego serwera DHCP jest ustawiony domy?lny adres ip: 192.168.0.32/255.255.255.0
Wi?dz?c to w zale?no?ci co mamy ustawione i jaki jest w sumie adres ip na urz?dzeniu (czy statyczny, czy pobrany, czy domy?lny) na danym adresie ip przeprowadzamy instalacj? Debiana.
Ja proponuje na sztywno ustawi? adres bo to po prostu upro?ci nam instalacj?.
Wgrywanie netboot.img do dns323:
Pobrany plik wgrywamy do urz?dzenia poprzez zak??dk? upgrade firmware oryginalnego oprogramowania:
Po za?adowaniu firmware restartujemy urz?dzenie.
Instalacja Debiana:
??czymy si? za pomoc? putty z dns323 na uprzednio przypisanym adresie IP:
zestaw znaków to UTF8
Nazwa ssh u?ytkownika: installer
Has?o ssh u?ytkonika: install
Od tego momentu rozpoczynamy pierwsz? cze?? instalacji czyli do momentu partycjonowania robimy to co na poni?szych zrzutach:
Wida? powy?ej, i? drugi dysk zosta? przepartocjowany identycznie jak pierwszy.
W tym momencie mamy wst?pnie za?o?one partycje. Wspomina?em na pocz?tku o braku pami?ci. Teraz zrestartujmy dns323 np. poprzez od??czenie zasilania.
W tym momencie zaczynamy instalacje jakby od pocz?tku ale jest to konieczne. W momencie uruchomienia dns323 i zalogowania si? poprzez putty na ssh mamy poni?sze okno gdzie wchodzimy do shella (nie uruchamiamy dalszej instalacji !)
Po wej?ciu do shella montujemy partycj? swap i uruchamiamy z powrotem instalacje debiana:
swapon /dev/sda1
swapon /dev/sdb1
debian-installer
W tym momencie przeprowadzamy instalacj? od pocz?tku. Powi?kszyli?my obszar pami?ci o swap na dysku dzi?ki czemu dalej ju? bezproblemowo pójdzie.
Partycji nie musimy ju? zak?ada? bo zosta?o to zrobione poprzednio. Teraz przechodzimy bezpo?rednio do konfiguracji raid
Mamy ju? utworzon? macie? RAID1 (/dev/md0). Formatujemy j? na system plików ext4.
Mamy ju? sformatowan? partycj?. System instalacyjny przechodzi do automatycznej instalacji pakietów podsstawowych na dysku pobieraj?c pakiety z internetu. Domy?lnie jak mamy list? pakietów wybieramy minimum opcj? "Standard system utilites". Na ko?cu nast?pi restart urz?dzenia.
Po restarcie urz?dzenia logujemy si? za pomoc? putty na ssh:
Podajemu tutaj nazw? u?ytkownika i has?o wprowadzone w czasie instalacji debiana (to nie installer/install !!!).
Konfiguracja czujnika temperatury oraz wentylatora:
Instalujemy pakiet lm-sensor oraz instalujemy odpowiednie modu?y (nie u?ywamy sensors-detect):
apt-get install lm-sensors
echo g760a >> /etc/modules
echo lm75 >> /etc/modules
restarujemy dns323
reboot
Po uruchomieniu ponownym sprawdzamy czy s? poprawnie wykrywane urz?dzenia (fan) wywo?uj?c komend?:
pwmcontrol
i konfigurujemy wst?pnie jak poni?ej:
root@dlink-9E7221:~# pwmconfig
# pwmconfig revision 5770 (2009-09-16)
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.
We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.
Found the following devices:
hwmon0/device is g760a
hwmon1/device is lm75
Found the following PWM controls:
hwmon0/device/pwm1
Giving the fans some time to reach full speed...
Found the following fan sensors:
hwmon0/device/fan1_input current speed: 6467 RPM
Warning!!! This program will stop your fans, one at a time,
for approximately 5 seconds each!!!
This may cause your processor temperature to rise!!!
If you do not want to do this hit control-C now!!!
Hit return to continue:
Testing pwm control hwmon0/device/pwm1 ...
hwmon0/device/fan1_input ... speed was 6467 now 0
It appears that fan hwmon0/device/fan1_input
is controlled by pwm hwmon0/device/pwm1
Would you like to generate a detailed correlation (y)? y
PWM 255 FAN 6553
PWM 240 FAN 6553
PWM 225 FAN 6553
PWM 210 FAN 6553
PWM 195 FAN 6553
PWM 180 FAN 6553
PWM 165 FAN 5715
PWM 150 FAN 4964
PWM 135 FAN 4130
PWM 120 FAN 3668
PWM 105 FAN 3276
PWM 90 FAN 2960
PWM 75 FAN 2730
PWM 60 FAN 2520
PWM 45 FAN 2329
PWM 30 FAN 2184
PWM 28 FAN 2174
PWM 26 FAN 2137
PWM 24 FAN 2127
PWM 22 FAN 2109
PWM 20 FAN 2082
PWM 18 FAN 2065
PWM 16 FAN 2065
PWM 14 FAN 2039
PWM 12 FAN 2022
PWM 10 FAN 2014
PWM 8 FAN 1998
PWM 6 FAN 1966
PWM 4 FAN 1950
PWM 2 FAN 1950
PWM 0 FAN 0
Fan Stopped at PWM = 0
Testing is complete.
Please verify that all fans have returned to their normal speed.
The fancontrol script can automatically respond to temperature changes
of your system by changing fanspeeds.
Do you want to set up its configuration file now (y)? y
What should be the path to your fancontrol config file (/etc/fancontrol)?
Select fan output to configure, or other action:
1) hwmon0/device/pwm1 3) Just quit 5) Show configuration
2) Change INTERVAL 4) Save and quit
select (1-n): 5
Common Settings:
INTERVAL=10
Settings of hwmon0/device/pwm1:
Depends on
Controls
MINTEMP=
MAXTEMP=
MINSTART=
MINSTOP=
Select fan output to configure, or other action:
1) hwmon0/device/pwm1 3) Just quit 5) Show configuration
2) Change INTERVAL 4) Save and quit
4 - save
Jak widac poprawnie wykry? urz?dzenia. teraz nale?y skonfigurowa? poprawnie plik
/etc/fancontrol
Mój plik wygl?da nast?puj?co:
root@dlink-9E7221:~# cat /etc/fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=20
DEVPATH=hwmon0=devices/platform/mv64xxx_i2c.0/i2c-0/0-003e hwmon1=devices/platform/mv64xxx_i2c.0/i2c-0/0-0048
DEVNAME=hwmon0=g760a hwmon1=lm75
FCTEMPS=hwmon0/device/pwm1=hwmon1/device/temp1_input
FCFANS=hwmon0/device/pwm1=hwmon0/device/fan1_input
MINTEMP=hwmon0/device/pwm1=40
MAXTEMP=hwmon0/device/pwm1=56
MINSTART=hwmon0/device/pwm1=40
MINSTOP=hwmon0/device/pwm1=2
MAXPWM=hwmon0/device/pwm1=255
uruchamiamy ponownie program czyli:
/etc/init.d/fancontrol stop
/etc/init.d/fancontrol start
i to ju? wszystko je?li chodzi o wentylator i temperatur?.
Wyciszanie pracy i grzanie si? dns323:
Proponuje zainstalowanie pakietu noflushd. Powoduje zmniejszenie pr?dko?ci obrotowej tale?y dysków tak aby dyski si? nie grza?y i aby by? w miar? minimalny pobór pr?du. Jednocze?nie u?ycie noflushd nie powoduje desynchronizacji raida.
apt-get install noflushd
Konfiguracja klawisza przedniego i tylnego(wy??czanie systemu po naci?ni?ciu)
Po zaimplementowaniu poni?szego opisu uzyskamy nast?puj?c? funkcjonalno??:
- Naci?ni?cie klawisza przedniego przez 5 sekund powoduje shutdown dns323
- Naci?ni?cie klawisza reset powoduje reboot dns323
Instalujemy pakiet gcc w debianie:
apt-get install gcc
Pobieramy plik ?ród?owy do kompilacji dzi?ki któremu uzyskamy wy?ej opisan? funkcjonalno??:
cd /root
wget http://openrouter.info/images/Uzytkownikow/rpc/dns323/dns323d.c
gcc -o dns323d dns323d.c
cp dns323d /sbin
dns323d
Musimy jeszcze dopisa? wywo?anie w/w programu aby startowa? w czasie uruchomienia dns323 czyli dopisujemy do pliku:
/etc/rc.local
wiersz
/sbin/dns323d
przed wierszem exit 0 w pliku rc.local
Pomara?czowe diody pracy dysków:
Normalnie diody led pracy dysków s? w kolorze niebieskim. Jest mo?liwo?? zmiany koloru na pomara?czowy. ?atwo sobie wyobrazi? skrypt, który sprawdza?by sprawno?? RAID (plik /proc/mdstat) i je?li nast?pi desynchronizacja którego? z dysków nast?pi za?wiecenie si? diody z niebieskiego koloru na pomara?czowy sygnalizuj?c o który dysk chodzi.
Przyk?ad zmiany kolorów led je?li raid si? rozsynchronizowa?:
Tworzymy plik md5sum pliku /proc/mdstat
md5sum /proc/mdstat > /etc/mdadm/mdadm.md5sum
Nast?pnie tworzymy skrypt który nam b?dzie monitorowa? stan raid1
mkdir /etc/wlasne
touch /etc/wlasne/raid_leds
chown +x /etc/wlasne/raid_leds
o zawarto?ci:
#!/bin/sh
md5summ=`md5sum -c /etc/mdadm/mdadm.md5sum | cut -d" " -f2`
echo none > /sys/class/leds/right\:amber/trigger
echo none > /sys/class/leds/left\:amber/trigger
if [ "$md5summ" != 'DOBRZE' ]; then
md0sda=`cat /proc/mdstat | grep md0 | grep sda`
md0sdb=`cat /proc/mdstat | grep md0 | grep sdb`
if [ "$md0sda" == '' ]; then
logger Raid1 /dev/md0 rozsynchronizowany - brak partycji /dev/sda2
echo default-on > /sys/class/leds/right\:amber/trigger
fi
if [ "$md0sdb" == '' ]; then
logger Raid1 /dev/md0 rozsynchronizowany - brak partycji /dev/sdb2
echo default-on > /sys/class/leds/left\:amber/trigger
fi
fi
exit 0
Nast?pnie dorzucamy zadanie do cron który b?dzie sprawdza? stan raid1 czyli macie?y md0 co 10 minut.
Do pliku /etc/crontab dopisujemy nast?puj?cy wiersz:
0-59/10 * * * * root /bin/run-parts /etc/wlasne/raid_leds
Prze?adowujemy cron czyli:
/etc/init.d/cron restart
Od teraz mamy wizualn? kontrol? macie?y. Je?li macie? RAID si? rozsynchronizuje to w?a?ciwa dioda przypisana do dysku za?wieci si? na pomara?czowo. Od razu b?dziemy wiedzieli który dysk ma problemy i si? od??czy?.
Spolszczenie konsoli debiana:
Domy?lnie jak wida? na powy?szej instalacji locales s? w wersji angielskoj?zycznej aby to zmieni? na Polski przekonfigurowujemy nast?puj?cy pakiet
root@dlink-9E7221:~# dpkg-reconfigure locales
I to wszystko je?li chodzi o sam? instalacj? debiana.
Dost?p do dns323 poprzez RS232:
Szybko?? portu szeregowego to 115200
Od strony lewej do prawej piny s? nast?puj?co rozmieszczone:
PIN1:3.3V PIN2:RX PIN3:TX PIN4:GND
Powy?sz? instalacj? zamiast wykona? poprzez ssh mo?emy zrobi? poprzez RS. W czasie pierwszego uruchomienia ekrany wygl?daj? nast?puj?co:
Reszt? instalacji przeprowadzamy jak wy?ej opisa?em.
Dost?p do UBOOT w dns323:
W razie czego mo?emy dosta? si? do UBOOT poprzez port szeregowy.
W czasie uruchomienia musimy szybko dwa razy naci?n?? klawisz "space" i pó?niej raz "1" w momencie kiedy zacznie si? odliczanie do 3 ale nie d?u?ej.
W tym momencie mamy komendy UBOOT
Marvell>> ?
? - alias for 'help'
bootm - boot application image from memory
cp - memory copy
echo - echo args to console
erase - erase FLASH memory
loadb - load binary file over serial line (kermit mode)
md - memory display
printenv- print environment variables
run - run commands in an environment variable
setenv - set environment variables
Marvell>>
Troch? logów z systemu:
** MARVELL BOARD: RD-88F5182-NAS-2 LE -
L¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦-
U-Boot 1.1.1 (Oct 12 2007 - 17:19:14) Marvell version: 1.7.3.001
DRAM CS[0] base 0x00000000 size 64MB tivates buttons
DRAM Total size 64MB
[8192kB@ff800000] Flash: 8 MB
Addresses 20M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (20M - 16M): Done
*** Warning - bad CRC, using default environment
Soc: MV88F5182 Rev 2
CPU: ARM926 (Rev 0) running @ 500Mhz
SysClock = 166Mhz , TClock = 166Mhz
USB 0: host mode
USB 1: host mode
PCI 0: PCI Express Root Complex Interface
PCI 1: Conventional PCI, speed = 33000000
Hit any key to stop autoboot: 0
## Booting image at ff820000 ...
Image Name: Debian kernel
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1312832 Bytes = 1.3 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
## Loading Ramdisk Image at ff9a0000 ...
Image Name: debian-installer ramdisk
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 4069578 Bytes = 3.9 MB
Load Address: 00800000
Entry Point: 00800000
Verifying Checksum ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.32-5-orion5x (Debian 2.6.32-29) (
Adres poczty elektronicznej jest chroniony przed robotami spamującymi. W przeglądarce musi być włączona obsługa JavaScript, żeby go zobaczyć.
) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 Sat Dec 11 09:47:14 UTC 2010
[ 0.000000] CPU: Feroceon [41069260] revision 0 (ARMv5TEJ), cr=a0053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: D-Link DNS-323
[ 0.000000] Clearing invalid memory bank 0KB@0xffffffff
[ 0.000000] Clearing invalid memory bank 0KB@0xffffffff
[ 0.000000] Clearing invalid memory bank 0KB@0xffffffff
[ 0.000000] Ignoring unrecognised tag 0x00000000
[ 0.000000] Ignoring unrecognised tag 0x00000000
[ 0.000000] Ignoring unrecognised tag 0x00000000
[ 0.000000] Ignoring unrecognised tag 0x41000403
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: root=/dev/ram console=ttyS0,115200 :::DB88FXX81:egiga0:none
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 64MB = 64MB total
[ 0.000000] Memory: 56888KB available (3224K code, 573K data, 128K init, 0K highmem)
[ 0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:64
[ 0.000000] Console: colour dummy device 80x30
[ 0.000247] Calibrating delay loop... 332.59 BogoMIPS (lpj=1662976)
[ 0.220174] Security Framework initialized
[ 0.220219] SELinux: Disabled at boot.
[ 0.220276] Mount-cache hash table entries: 512
[ 0.220909] Initializing cgroup subsys ns
[ 0.220940] Initializing cgroup subsys cpuacct
[ 0.220965] Initializing cgroup subsys devices
[ 0.220990] Initializing cgroup subsys freezer
[ 0.221013] Initializing cgroup subsys net_cls
[ 0.221130] CPU: Testing write buffer coherency: ok
[ 0.222690] devtmpfs: initialized
[ 0.225592] regulator: core version 0.5
[ 0.226031] NET: Registered protocol family 16
[ 0.227072] Orion ID: MV88F5182-A2. TCLK=166666667.
[ 0.227356] DNS-323: Identified HW revision B1
[ 0.227908] DNS-323: Found ethernet MAC address: 00:1e:58:9e:72:21.
[ 0.232107] bio: create slab at 0
[ 0.232852] vgaarb: loaded
[ 0.234364] Switching to clocksource orion_clocksource
[ 0.246267] NET: Registered protocol family 2
[ 0.246826] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.248534] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.248649] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.248716] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.248741] TCP reno registered
[ 0.249136] NET: Registered protocol family 1
[ 0.249583] Unpacking initramfs...
[ 0.995147] Freeing initrd memory: 3972K
[ 0.995329] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.996029] audit: initializing netlink socket (disabled)
[ 0.996110] type=2000 audit(0.990:1): initialized
[ 1.014146] VFS: Disk quotas dquot_6.5.2
[ 1.014877] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.015245] msgmni has been set to 119
[ 1.016938] alg: No test for stdrng (krng)
[ 1.017250] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 1.017285] io scheduler noop registered
[ 1.017307] io scheduler anticipatory registered
[ 1.017331] io scheduler deadline registered
[ 1.017964] io scheduler cfq registered (default)
[ 1.033111] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 1.034236] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 3) is a 16550A
[ 1.378774] console [ttyS0] enabled
[ 1.383179] physmap platform flash device: 00800000 at f4000000
[ 1.389466] physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank
[ 1.395998] Amd/Fujitsu Extended Query Table at 0x0040
[ 1.401235] number of CFI chips: 1
[ 1.404678] cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
[ 1.423943] RedBoot partition parsing not available
[ 1.428898] Using physmap partition information
[ 1.433429] Creating 5 MTD partitions on "physmap-flash.0":
[ 1.439041] 0x000000000000-0x000000010000 : "MTD1"
[ 1.445199] 0x000000010000-0x000000020000 : "MTD2"
[ 1.451105] 0x000000020000-0x0000001a0000 : "Linux Kernel"
[ 1.457767] 0x0000001a0000-0x0000007d0000 : "File System"
[ 1.464343] 0x0000007d0000-0x000000800000 : "u-boot"
[ 1.471342] mice: PS/2 mouse device common for all mice
[ 1.477288] i2c /dev entries driver
[ 1.481649] rtc-m41t80 0-0068: chip found, driver version 0.05
[ 1.487917] rtc-m41t80 0-0068: rtc core: registered m41t80 as rtc0
[ 1.495582] Registered led device: power:blue
[ 1.500072] Registered led device: right:amber
[ 1.504719] Registered led device: left:amber
[ 1.512111] TCP cubic registered
[ 1.515407] NET: Registered protocol family 17
[ 1.519879] VFP support v0.3: not present
[ 1.524750] registered taskstats version 1
[ 1.529986] rtc-m41t80 0-0068: setting system clock to 2011-04-10 16:44:41 UTC (1302453881)
[ 1.538379] Initalizing network drop monitor service
[ 1.543523] Freeing init memory: 128K
[ 2.079025] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 2.526895] MV-643xx 10/100/1000 ethernet driver version 1.4
[ 2.533179] mv643xx_eth smi: probed
[ 2.556644] SCSI subsystem initialized
[ 2.578453] net eth0: port 0 with MAC address 00:1e:58:9e:72:21
[ 3.033313] sata_mv sata_mv.0: version 1.28
[ 3.055615] sata_mv sata_mv.0: slots 32 ports 2
[ 3.073065] scsi0 : sata_mv
[ 3.078959] scsi1 : sata_mv
[ 3.083131] ata1: SATA max UDMA/133 irq 29
[ 3.087386] ata2: SATA max UDMA/133 irq 29
[ 8.644468] ata1: link is slow to respond, please be patient (ready=0)
[ 10.324494] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 10.444570] ata1.00: ATA-7: ST3500630NS, 3.AEK, max UDMA/133
[ 10.450251] ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[ 10.534677] ata1.00: configured for UDMA/133
[ 10.539652] scsi 0:0:0:0: Direct-Access ATA ST3500630NS 3.AE PQ: 0 ANSI: 5
[ 16.094462] ata2: link is slow to respond, please be patient (ready=0)
[ 20.054518] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 20.174567] ata2.00: ATA-7: ST3500630NS, 3.AEK, max UDMA/133
[ 20.180230] ata2.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[ 20.284681] ata2.00: configured for UDMA/133
[ 20.289652] scsi 1:0:0:0: Direct-Access ATA ST3500630NS 3.AE PQ: 0 ANSI: 5
[ 20.403496] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[ 20.414521] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[ 20.423050] sd 0:0:0:0: [sda] Write Protect is off
[ 20.428662] sd 1:0:0:0: [sdb] Write Protect is off
[ 20.434009] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 20.443317] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 20.455471] sda:
[ 20.459328] sdb: sda1 sda2 sda4
[ 20.484616] sdb1 sdb2 sdb4
[ 20.489362] sd 0:0:0:0: [sda] Attached SCSI disk
[ 20.513489] sd 1:0:0:0: [sdb] Attached SCSI disk
Starting system log daemon: syslogd, klogd.
Tunning dns323(jumbo frame):
Do pliku /etc/rc.local dopisujemy:
ethtool -K eth0 lro on
ethtool -K eth0 gro on
Do pliku /etc/network/interface do sekcji iface dopisujemy
mtu 3672
Teraz ustawili?my jumbo frame na 3672 (odpowiednik ifconfig eth0 mtu 3672 ). Po wielu testach jest to najbardziej optymalna warto??. Je?li ustawimy wi?cej to p?yta od razu traci wydajno?? i transfer drastynie spada.
Jeszcze jedno, jak ustawiamy mtu to musimy te? ustawi? na klientach inaczej niemia?o by to najmniejszego sensu. I najlepiej o takiej samej warto?ci.
Testy wykonane z clienta na FTP. na dns323 stoi proftpd:
736739328 bytes sent in 53.65 secs (13409.6 kB/s)
736739328 bytes received in 25.96 secs (27719.8 kB/s)
736739328 bytes sent in 51.63 secs (13935.7 kB/s)
736739328 bytes received in 26.97 secs (26679.7 kB/s)
736739328 bytes sent in 51.53 secs (13961.5 kB/s)
736739328 bytes sent in 51.52 secs (13964.8 kB/s)
736739328 bytes received in 27.48 secs (26177.4 kB/s)
736739328 bytes received in 29.58 secs (24322.6 kB/s)
736739328 bytes sent in 53.01 secs (13572.3 kB/s)
736739328 bytes received in 26.17 secs (27489.9 kB/s)
Jak wida? wyniki s? w miar? powtarzalne.
Powy?sze wyniki sa maksymalne jakie uda?o mi si? uzyska?.
Szerokie info o dns323 oraz innych NAS dlinka znajdziedzie na stronie i forum pod adresem http://dns323.kood.org/
Ps (3.05.2012) Je?li po aktualizacji debiana (np. kolejnym upgrade w squezze) nie chce on wsta? i sypie si? na montowaniu raid1 to wina jest skryptów a dok?adnie nazwy (etykiety) dysków oraz macie?y.
Bezwgl?dnie zalecam aby dyski wchodz?ce w sk?ad macie?y oraz etykieta samej macie?y mia?a IDENTYCZN? nazw?. Inaczej skrypt mo?e si? pogubi? i debian nie zastartuje.
Je?li zda?y si? taka sytuacja i logowanie w consoli RS232 stanie na "Assemble MD mdam..." a potem wyrzuci nas do konsoli initramfs to mo?emy to ?atwo naprawi?. Zagl?damy do pliku
cat /etc/mdadm/mdadm.conf
i patrzymy jak? nazw? ma etykieta naszej macie?y. Potem logujemy si? do debiana czyli (zak?adam, ?e macie? md0 sk?ada si? z dysków /dev/sda2 /dev/sdb2)
mkdir /0
mdadm -A /dev/md0 /dev/sda2 /dev/sdb2
mount -t ext4 /dev/md0 /0
mount -o bind /dev /0/dev
mount -o bind /sys /0/sys
mount -o bind /proc /0/proc
chroot /0 /bin/bash
i wykonujemy komend?
e2label /dev/md0 [nasza_etykieta]
i zmieniamy nazw? etykiety w pliku
/etc/mdadm/mdadm.conf
Reasumuj?c etykiety musz? by? wsz?dzie identyczne.
na ko?cu wywo?ujemy
update-initramfs -u
czekamy a? wgraj? si? aktualizacj? i potem
reboot
i to wszystko.
# pwmconfig revision 5770 (2009-09-16)
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.
We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.
Found the following devices:
hwmon0/device is g760a
hwmon1/device is lm75
Found the following PWM controls:
hwmon0/device/pwm1
Giving the fans some time to reach full speed...
Found the following fan sensors:
hwmon0/device/fan1_input current speed: 6467 RPM
Warning!!! This program will stop your fans, one at a time,
for approximately 5 seconds each!!!
This may cause your processor temperature to rise!!!
If you do not want to do this hit control-C now!!!
Hit return to continue:
Testing pwm control hwmon0/device/pwm1 ...
hwmon0/device/fan1_input ... speed was 6467 now 0
It appears that fan hwmon0/device/fan1_input
is controlled by pwm hwmon0/device/pwm1
Would you like to generate a detailed correlation (y)? y
PWM 255 FAN 6553
PWM 240 FAN 6553
PWM 225 FAN 6553
PWM 210 FAN 6553
PWM 195 FAN 6553
PWM 180 FAN 6553
PWM 165 FAN 5715
PWM 150 FAN 4964
PWM 135 FAN 4130
PWM 120 FAN 3668
PWM 105 FAN 3276
PWM 90 FAN 2960
PWM 75 FAN 2730
PWM 60 FAN 2520
PWM 45 FAN 2329
PWM 30 FAN 2184
PWM 28 FAN 2174
PWM 26 FAN 2137
PWM 24 FAN 2127
PWM 22 FAN 2109
PWM 20 FAN 2082
PWM 18 FAN 2065
PWM 16 FAN 2065
PWM 14 FAN 2039
PWM 12 FAN 2022
PWM 10 FAN 2014
PWM 8 FAN 1998
PWM 6 FAN 1966
PWM 4 FAN 1950
PWM 2 FAN 1950
PWM 0 FAN 0
Fan Stopped at PWM = 0
Testing is complete.
Please verify that all fans have returned to their normal speed.
The fancontrol script can automatically respond to temperature changes
of your system by changing fanspeeds.
Do you want to set up its configuration file now (y)? y
What should be the path to your fancontrol config file (/etc/fancontrol)?
Select fan output to configure, or other action:
1) hwmon0/device/pwm1 3) Just quit 5) Show configuration
2) Change INTERVAL 4) Save and quit
select (1-n): 5
Common Settings:
INTERVAL=10
Settings of hwmon0/device/pwm1:
Depends on
Controls
MINTEMP=
MAXTEMP=
MINSTART=
MINSTOP=
Select fan output to configure, or other action:
1) hwmon0/device/pwm1 3) Just quit 5) Show configuration
2) Change INTERVAL 4) Save and quit
4 - save