Recently in Operating System Category

As I mentioned yesterday, the FreeBSD 7 Release doesn't support Broadcom 5722 network adapter which is combined in Dell R300, today, I installed 7.0 Stable 200807 amd64 on Dell R300, and the last stable version can identify the 5722 network adapter.

Tomorrow, this box as the load balance which is running Nginx will be put on rack for production use. Crossing my fingers.
I planed to install FreeBSD 7.0 Release on Dell R300, but unfortunately, 7.0 Release doesn't support the network adapter Broadcom 5722 which is combined in Dell R300.

Some of my friends said that 7.0 stable in snapshot can work with 5722, but I'm not sure if it's stable enough to support the production environment, so finally, I'll have to replace it with Dell 1950 which combines Broadcom 5708C :(
Dell 2950 server combines PERC5 Raid controller which needs the last Linux kernel to identify the raid controller driver. At the first time, I try to install RedHat Advanced Server 4 Update2 x86_64 on this server, but this version cannot identify the raid driver of PERC5.

Finally, from Dell tech support, I get to know that only RHEL 4 Update 5 or RHEL 5 can be installed on Dell 2950. So, if you also need install RedHat RHEL on Dell 2950, please try RHEL 4 Update 5 or RHEL 5 version.

Today, I upgraded my server from current FreeBSD 6.2 to 8.0, I'm looking forward to the new features and high performance of this new version!

[root@www ~]# uname -a

FreeBSD www.isoracle.com 8.0-CURRENT FreeBSD 8.0-CURRENT #1: Mon Jan? 7 01:05:43 CST 2008???? root@www.isoracle.com:/usr/obj/usr/src/sys/GENERIC? i386

First of all, I rebuilt the FreeBSD kernel, the main purpose was to remove unnecessary  driver components such  as CPU type, SCSI, network adapter and USB support, they are not needed on my server at all.

Modify /usr/src/sys/i386/conf/GENERIC file to remove the unnecessary entries. Before that, you should be familiar with your hardware model.

Then  compile and install the kernel:

  • /usr/sbin/config  GENERIC
  • cd ../compile/GENERIC
  • make cleandepend && make depend
  • make
  • make  install

You need  modify the GENERIC  configuration file if you  get any error  during the 'make'.

At last, reboot the system.

Secondly, enable the 'Soft Updates' to improve the disk performance.

You should enter the single user mode (boot -s) to finish the task.

  • /sbin/tunefs -n enable /home
  • /sbin/tunefs -n enable /tmp
  • /sbin/tunefs -n enable /var
  • /sbin/tunefs -n enable /other_partition


The root partition / is not recommended to enable 'Soft Update'

And then reboot the system.

Verify: when the system is up, type 'mount' to check if 'Soft Updates' is enabled or not, on my system, I enabled this feature for each partition.

[root@www ~]# mount
/dev/ad0s1a on / (ufs, local, soft-updates)
devfs on /dev (devfs, local)
/dev/ad0s1f on /home (ufs, local, soft-updates)
/dev/ad0s1d on /tmp (ufs, local, soft-updates)
/dev/ad0s1g on /usr (ufs, local, soft-updates)
/dev/ad0s1e on /var (ufs, local, soft-updates)

How disk performance improved?

I did a disk read/write test by using a simple C language program.

# ./postmark
pm>set size 10000 20000
pm>set number 1000
pm>set transactions 50000
pm>run

Before tuning:

1 Transactions/s: 34
2 DATE READ: 272.96 K/S
3 DATE WRITTEN: 281.46K/S

After tuning:

1 Transactions/s: 122
2 DATE READ: 983.70 K/S
3DATE WRITTEN: 1014.33K/S

So we can see that 'Soft Updates' feature improves the disk performance greatly.

For more details, please refer to the official document about 'Soft Updates'

Powered by FreeBSD now!

| | Comments (0) | TrackBacks (0)

Today, I migrated my site from original RedHat Linux to FreeBSD 6.2 Release!?

Many years ago, I installed FreeBSD 4.2 stable on a PC (Celeron CPU and low memory), which was running Apache, MySQL, Proftp and qmail, after tuning and re-compiled the kernel, the performance was perfect!

Next step, I will try to use cvs to upgrade it to Stable version. Stay tune...