Just some thoughts and things I’ve done.
The hardware is the following: the Microserver itself, 2x 4GB DDR3, one 16GB USB flash drive, some 2TB SATA hard drives, Logitech S-150 USB speakers, and a GT520 HDMI+DVI graphic card.
Installation on USB flash drive. There’s an USB port on the motherboard, so I plugged a 16GB USB flash drive and installed Ubuntu to it.
The filesystem is ext4 because I trust it a lot more than btrfs and because it seems it’s quite good on a flash drive (source , it’s old, I know). The mount options are noatime,nodiratime .
I set the laptop_mode on to reduce the writes on the flash drive :
# echo 5 > /proc/sys/vm/laptop_mode ; echo “vm.laptop_mode = 5” >> /etc/sysctl.conf
I mounted /var/lock and /var/run on tmpfs because I don’t care if the content is lost after a reboot, crash, power failure, etc :
# echo “none /var/lock tmpfs noatime,nodiratime,size=4M,mode=1777 0 0” >> /etc/fstab
# echo “none /var/run tmpfs noatime,nodiratime,size=4M,mode=1777 0 0” >> /etc/fstab
I’m still unsure about /var/log on tmpfs because I don’t want to lose the logs so I’m thinking about binding /var/log to another location (like /var/log-flashdrive) and then mounting atmpfs into /var/log, copy the contents and synchronize the tmpfs to the flash drive some times.
In /etc/default/grub , I set GRUB_CMDLINE_LINUX_DEFAULT to an empty value because I want to see what happens at boot time. And GRUB_GFXMODE=text because I don’t care about a nice graphical console, I will have Xorg.
I will install 2 terabytes hard drives in RAID (1 or 5, still unsure) because it will act as a file server. Samba, NFS and probably DLNA. They are currently in my old and power hungry Intel I7-920 computer.
It will also act as a monitoring server for the LAN: Cacti for the switches and routers, maybe smokeping to test the quality of the broadband connections. I’ll probably need to mount the RRD and image directory from the disks to reduce the IO on the flash drive.
Regarding the graphic card, I installed nvidia-current and vdpau-va-drivers to take advantage of the video hardware decoding.
I will use awesome as window manager because I like the keyboard shortcuts (I come from a 60 console computer so…) and it seems quite customizable. So apt-get install awesome .