Recently i had to grow the capacity of my NAS. The NAS is running Debian and RAID is powered by md. I had attached 3 hard drives to it which were working as RAID5 array. Now i could write about how to grow a RAID, but you will be able to read that on more than enough other websites. I would rather share a benchmark i have created using Bonnie++. Let me show you the effects of changing the amount of hard drive on the read and write performance.
Last week i posted an article about the application Preload and how you can use it to tune the startup of applications impressively. While researching on Preload i found another way for tuning my system even more with a similar technique. Lets talk about Prelink:
If you want to know how performing you hard drive is you have to install bonnie++ first.
Using Debian and it derivatives its just:
# apt-get install bonnie++
After the installation create an empty folder on the drive you want to test. Bonnie++ will create temporary random content there while the benchmark is running.
Because i am having just one drive in my notebook the decision wasn’t really hard. The Partition / is nearly full so i used /home.
# mkdir /home/tmp
Now we can let bonnie++ attack the directory . For having the needed permissions i had to run bonnie++ as root.
# bonnie++ -u root -d /home/tmp/
Now this will take a bit time but you will get a lot of information. (much more then a Windows application can process). When the process is done you should get some output like that:
(Please do not rate my benchmark. It was done under load)
bonnie++ -u root -d /home/tmp/ Using uid:0, gid:0. Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... Create files in sequential order...done. Stat files in sequential order...done. Delete files in sequential order...done. Create files in random order...done. Stat files in random order...done. Delete files in random order...done. Version 1.96 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP srv-rs-dk 4G 620 98 67046 11 36145 7 2149 93 87481 9 187.5 5 Latency 13896us 621ms 1733ms 61811us 160ms 5080ms Version 1.96 ------Sequential Create------ --------Random Create-------- srv-rs-dk -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ Latency 14986us 677us 1194us 729us 4487us 746us
Well this might disturb you but: Don’t Panic!
- Per Char 4G has been written with 620 K/sec and an CPU-Usage of 98%
- Per Block 4G has been written with 67046 K/sec and an CPU-Usage of 11%
- Per Rewrite 4G has been written with 36145 K/sec and an CPU-Usage of 7%
- Sequentiell Input done with 2149 K/sec and an CPU-Usage of 9%
- Random done with 187,5 K/sec and an CPU-Usage of 5%
Diesen Artikel gibt es auch in Deutsch!
I was searching for that feature a long time, finally i managed to enable it.
While installing Debian you have animated progress bars for some reason. When installation is done that feature is disabled for default.
In the file /usr/share/themes/Clearlooks/gtk-2.0/gtkrc
change the value of animation from FALSE to TRUE.
Now you have nice rolling progress bars again for Clearlooks theme.
At work i need to use an application that can store and restore images of an computer. I am using Clonezilla to do so. Clonezilla is an distribution of Debian(sid) which does all those jobs. The advantage is that it is very customizable. Because i am storing all the images at the same space and using the same network setup i has become contra productive to setup it again and again for every single image . Thank god Clonezilla can run a prerunscript which does this for me. If you want to do the same get the lastest version of clonezilla as .zip file and extract it. Changes need to be done in the /syslinux/syslinux.cfgfile which defines the menu is shown when booting clonezilla.
label RESTORE MENU DEFAULT # MENU HIDE MENU LABEL Restore # MENU PASSWD kernel /live/vmlinuz append initrd=/live/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_prerun="mount -t cifs -o user=admin,domain=domain.net 172.28.64.141:/Images /home/partimag" ocs_live_run="/opt/drbl/sbin/ocs-sr -u restoredisk ask_user sda" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="en_US.UTF-8" vga=788 toram=filesystem.squashfs nosplash TEXT HELP Restore a stored image ENDTEXT label STORE # MENU DEFAULT # MENU HIDE MENU LABEL Store # MENU PASSWD kernel /live/vmlinuz append initrd=/live/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt ocs_prerun="mount -t cifs -o user=admin,domain=domain.net 172.28.64.141:/Images /home/partimag" ocs_live_run="/opt/drbl/sbin/ocs-sr -u -q2 -z1p -i 2048 -p poweroff savedisk ask_user sda" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="en_US.UTF-8" vga=788 toram=filesystem.squashfs nosplash TEXT HELP Store an image ENDTEXT
Here we have two menu entries, i replaced those i did not need. I will explain the meaning of the syntax now for you:
- label – Defines the option just for the config an can be set with any value
- MENU DEFAULT – This defines which option should be booted if the countdown is over (define only once in config, use # for the rest)
- MENU HIDE - Hides the menu.
- MENU LABEL – The Label that is shown in menu.
- MENU PASSWD – You could ask for an password when choosing the option but it is not needed to me.
- “kernel /live/vmlinuzappend initrd=/live/initrd.img boot=live config noswap nolocales edd=on nomodeset” – Starts clonezilla as it is.
- ocs_prerun=”mount -t cifs -o user=administrator,domain=domain.net 172.28.64.141:/Images /home/partimag” ocs_live_run=”/opt/drbl/sbin/ocs-sr -u restoredisk ask_user sda” ocs_live_extra_param=”" ocs_live_keymap=”/usr/share/keymaps/i386/qwertz/de-latin1.kmap.gz” ocs_live_batch=”no” ocs_lang=”en_US.UTF-8″ vga=788 toram=filesystem.squashfs nosplash- Here it becomes very tricky. Do not worry i will explain it for you:
- ocs_prerun= – Commands in this value will run before clonezilla starts.
- mount -t cifs -o- mounts a samba share with parameters:
- user =admin – Login as “admin”
- domain=domain.net – name of the domain (if you don’t know leave it blank. Home spaces do not use domains )
- 172.28.64.141:/Images – Place where the Images are stored or should be placed
- /home/partimag – Clonezilla mounts the images here which is the reason it does not ask for any other place to search for the images.
- ocs_live_run=”/opt/drbl/sbin/ocs-sr -u restoredisk ask_user sda” - ocs_live_run is defined two times in my config. This one runs the restore function of Clonezilla.
- ocs_live_run=”/opt/drbl/sbin/ocs-sr -u -q2 -z1p -i 2048 -p poweroff savedisk ask_user sda- This is the second entry which runs the store function:
- -u - Asks the user for the image name (could be set in config too).
- restoredisk or savedisk - Which mode to run ? store, restore, partition or hard-drive ?
- ask_user - This would be the name of the image but “-u” requests it from user.
- sda – Which hard-drive should be written or red.
- -q2 – Use “partclone”. I am preferring this .
- -z1p – Use gzip-Kompression (with multicore)
- -i 2048 – Splitzise in megabyte (Split every 2GB a new file for the backup.)
- -p poweroff - power off after successfully running the script.
- toram=filesystem.squashfs – Extracts all files to a ramdisk. Therefore you can remove the stick when clonezilla is booted.
After we modified our script we can flash it to an flashdrive (e.g using UnetBootIn or something like that) and test it.
If you have any problems with this how-to feel free to ask me for help and more information.
With Google i found an initial release of an driver but this one did not work too. Well the motion worked but the pressure did not.
So i contacted “Ond” ,the developer of the driver and we worked together to fix the problem. Within two days the driver worked with all features.
How to set the driver up:
- It has to be compiled by your self
- Download the driver if you are using a Linux Kernel >3.2 use this driver.
- Unpack the Tar-Zip with ‘tar xfvz [ARCHIVE NAME].tgz’
- Navigate with ‘cd’ to the folder where the unpacked driver is
- Use ‘make’ for compiling
- If there is no error message you can use ‘insmod hanvon.ko’ for binding it.
- The Tablet should now be usable
If you have any problems feel free to ask me for help.
The driver has been tested only with:
- Hanvon Artmaster 0806,1107 and the 1209
- Rollik RL0604, RL0504
- Hanvon Armaster III (AM3M)
- GraphicPal 0806
If you tried using it with another model please report your results to me.
If you want the driver to be loaded on boot next time you have to move the hanvon.ko to /lib/modules/your-kernel/kernel/drivers/input/tablet .
# mv ./hanvon.ko /lib/modules/$(uname -r)/kernel/drivers/input/tablet
update the modules database now.
and add hanvon to /etc/modules
# echo “hanvon” > /etc/modules
Now the Module should be loaded automatic next time you boot. You can verify that by running:
# modprobe hanvon
If no error is reported everything is fine.
Edit1: Markus Zucker made a patch, that adds support for the Hanvon Artmaster AM 1209 to the driver
Edit2: Stephan contacted me because his 1107 was not working with this driver. I did the modification to make it able to use it.
Sorry, this entry is only available in Deutsch.