Archive for the 'FreeBSD' Category

FreeBSD: SU+J, no more fsck!

兩天前,Jeff Roberson 把他之前寫的 SoftUpdate Journaling (SUJ) 丟去 HEAD 了:http://svn.freebsd.org/viewvc/base?view=revision&revision=207141。過了這麼多年,好多次都有人說要做各種不同的 journaling(UFS3 還有 Bluffs),終於有人寫出來… 而且 Kirk 老人家也有參與。有興趣的可以看他們兩個寫的 paper:Journaled Soft-Update,這篇會發表在今年五月的 BSDCan。另外可以聽一下 BSDTalk #186,裡面有 Jeff 的訪問,還有提到說今年 BSDCan 會討論 UFS3 的事情。

FreeBSD 新的切硬碟方式: gpart

最近剛好有機會把一台有在用 ZFS 的機器換跑 CURRENT,然後就被古老的 sysinstall 整到… 害我差點不能增加新的分割區(這是另外一個故事了… !@#$)。總之,我要說的是,大概一個月前,預設的 GEOM 管理分割區的已經變成 gpart(8) 了,所以說你要切硬碟什麼的,要用 gpart 而不是以前常用的 sysinstall/sade/bsdlabel/fdisk 了。

gpart 我只用過幾次,其實他就是以前的 gpt 改過來的,比以前的 gpt 稍微好用些。不過何年何月才會把 finstall 變成預設的安裝程式呢 :P

FreeBSD 7.1 終於出了

這次改比較大的都在 kernel 的部份,所以整個 release notes 看起來相對也少很多。底下列的是我覺得比較重要/我有興趣的部份,就參考看看吧。

  • cpuset(2)
  • DTrace
  • DDB scripting/textdump
  • 重寫成 kernel mode 的 rpc.lockd (client 部份,我有點忘了 server 部份是不是已經在了…)
  • ULE 變成預設的 scheduler
  • btx loader 終於改成用 real mode 去叫 BIOS 了,終於可以用 USB 光碟開機了
  • 現在也可以開用 gpt 切的硬碟
  • arp(8) 多了兩個參數:reject 跟 blackhole…
  • resolver(3) 可以吃有 _ 的名字… (唉…)
  • hw.ata.ata_dma_check_80pin
  • gpart(8) 可以吃 BSD label
  • gpt(8) 支援 ZFS
  • mountd(8) 可以指定要 bind 哪個 ip (-h)
  • top(1) 跟 vmstat(8) 可以指定 -P 看每顆 CPU 的狀態
  • ypserv(8) 可以指定要 bind 哪個 port (-P)
  • BIND 更新到 9.4.2-P2, OpenSSH 更新到 5.1p1

apache 2.x 跑 worker

前幾天大神寫了篇用 apache 2.x 跑 worker 還有 PHP 的設定,然後晚上學弟把系上的 server 換好後,就害我手癢也換了幾台沒什麼流量的機器。設定上還滿容易的,那也因為本來我 PHP 就都跑了 FastCGI,這次更動主要只在 apache 的部份,換起來輕鬆愉快 :P 現在 FreeBSD 6.x/7.x multi-threading support 比以前好很多了,也是時候該用力用一用 worker 跑 apache 了 :p

細節就不多說,參考大神 blog。

portconf 新用法

最近 portconf 升級到 1.4 之後,在 ports.conf 裡面可以指定把變數 .undef 掉。比方說,我希望編 sysutils/fusefs-kmod 的時候不要指定 KERNCONF,那只需要寫

sysutils/fusefs-kmod: !KERNCONF

就可以了。

NFS locking in kernel

一陣子之前,dfr@ 改寫了 NFS locking server 端的部份,從原本的 userland 搬進 kernel 處理了,kernel conf 裡面要加上 NFSLOCKD,預設 GENERIC 是打開的。數小時前,這部份整個也已經進了 7-STABLE,而 6-STABLE 可能過陣子才會進去。總之,這真是個好消息 :D

FreeBSD 7.0 跟 DragonFlyBSD 1.12

剛看到 kris@ 做的 mysql 跟其他的 subsystem 的比較:

http://leaf.dragonflybsd.org/mailarchive/users/2008-03/msg00025.html

不過後面有篇回應說得也很對,就是當初分家是因為不同的路,計畫要改的東西也不是兩三年就可以改完的(不過已經四年多了…),再說 DragonFlyBSD 似乎人還是沒有很多,重要的東西還是 Matt 一個人在搞。反過來看 FreeBSD 5.x 那一段時間,真是相當的苦命啊…

FreeBSD 6.3-RELEASE

今天清晨的時候,6.3-RELEASE 正式推出了,跟上一版差了足足一年,主要原因是中間要準備 7.0-RELEASE 的緣故(大概二月初就會出現了)。剛翻了一下 FreeBSD 6.3 Release Notes,底下列了幾個比較值得一提的東西。

Kernel 部份:

  • acpi 支援 HPET
  • MSI support
  • coretemp(4) 可以看 Intel Core cpu 溫度
  • acpi_dock(4)
  • 音效卡: hda, envy24/envy24ht, spicds
  • 網路卡: cxgb (10G, Chelsio T3/T3B), edsc (discard), em upgrade msk (Mar
    vell/SysKonnect Yukon II), mxge (10G, Myricom Myri10GE)
  • 802.11: support 900Mhz, quarter- 跟 half-channel for 802.11a
  • lagg(4): link aggregation, failover, fault tolerence
  • mpt(4) 支援更多 RAID features: RAID volume, member state/settings report, volume re-synchronization status reporting, sysctl vars for re-sync rate, volume member write cache status, volume transcation queue depth 然後也支援了 SAS HBA (部份), 64-bit PCI, large data transfer
  • 支援 scsi_sg 模擬 Linux SCSI SG passthrough device API, 可以多跑些 Linux 裡面的程式
  • 新的 unionfs implementation

Userland 部份:

  • ftpd 支援 RFC 2389 (FEAT) 跟 RFC 2640 (UTF8), UTF8 的部份要加上 -8 打開
  • rpc.lockd 跟 rpc.statd 可以指定 port (-p)
  • pw 可以指定新開 user home 目錄的權限
  • top 可以用 -j 看 jail ID (感謝爽大 :D )
  • touch 可以用 -A 指定時間調整 atime/mtime
  • 新增 wpa_passphrase
  • /etc/rc.d/nfslocking 被移掉, 換成 lockd 跟 statd

Contributed Software 部份:

  • awk 更新到 2007.05.01
  • bind 更新到 9.3.4-p1
  • bzip2 更新到 1.0.4
  • diffutils 更新到 2.8.7
  • gzip 換成 BSD-licensed gzip (from NetBSD)
  • ipfilter 更新到 4.1.28
  • less 更新到 416
  • ncurses 更新到 5.6-20061217, 多了 wide character 支援
  • netcat 更新到 OpenBSD 4.1 用的了
  • readline 更新到 5.0 patch 2
  • sendmail 更新到 8.14.2
  • timezone 更新到 2007k
  • OpenBSM 更新到 1.0

把 local ports 丟出來

早上去 COSCUP 2007 講 ports,結果遭到 DK 大指控說我都沒把東西放出來,剛趁吃飽的時候,把東西稍微整理一下,丟到 OpenSVN 上去了。有興趣的人可以去 這裡觀賞使用。

FreeBSD 7.0 與 SMPng 回顧

上星期,kris@ 不知道在哪裡講 Introducing FreeBSD 7.0,裡面提到了很多 7.0 會有的新東西(主要是 kernel 部份)以及在 performance 上的改善。去年六月的時候,kris@ 宣佈了持續六年多的 SMPng 計畫算是劃下一個句點,而一年後的現在,我們看到的是 7.0 在 performance 上的改善。改善。

最令人興奮的應該算是重寫過的 ULE(以前那個版本 bug 很多而且不太穩定),以及 threading 的改善與 kernel locking 的改進,這幾個讓 MySQL 跟 PostgreSQL benchmark 起來相當的讚。

從 SMPng 開始到現在花了七年,不知道未來的 FreeBSD 的使用率會不會持續進步呢… :p