3TB SATA HDD を HP ML115 / Debian GNU/Linux に導入した備忘録
Posted by yoosee on Debian at 2012-06-30 14:13 JST1 3TB SATA HDD の Debian GNU/Linux での初期設定
HDDがなかなか安くならないなとしばらく様子を伺っていたが、自宅サーバの容量が一杯になりつつあるので流石に諦めてSeagate Barracuda 7200シリーズ 3.5inch SATA 6Gb/s 3TB 7200rpm 64MB 4Kセクター ST3000DM001 を $149.99 で購入。値段は1ドル80円換算で日本とほとんど変わらない。下記は Debian GNU/Linux wheezy/sid での設定とディスク内容のマイグレーションを備忘録として書いたものだが、正確性は担保しないので当然ながら自己責任で参考にしてください。まずは自宅のHP ML115に追加接続して Linux で起動。ちなみに元々の disk が sda で新しく導入した disk が sdb 。
[ 1.848040] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 1.856296] ata1.00: ATA-8: ST3000DM001-9YN166, CC4B, max UDMA/133 [ 1.856301] ata1.00: 5860533168 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 1.872281] ata1.00: configured for UDMA/133 ... [ 2.676866] sd 0:0:0:0: [sdb] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB) [ 2.676872] sd 0:0:0:0: [sdb] 4096-byte physical blocks [ 2.676935] sd 0:0:0:0: [sdb] Write Protect is off [ 2.676939] sd 0:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 2.676967] sd 0:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA起動時に認識はしている。BIOSなどによっては認識しないこともあるらしいのでそこは一安心。今回は2TBより大きなディスクなので fdisk/cfdisk では正しく扱えない (確か700GB程度しか認識しない状態になるはず) ため parted にて GPT を使う。まあ今時 parted だよねーという話ではある。ちなみに partition を切る必要が無ければ
# mkfs -t ext4 /dev/sdbとかして丸ごと使う分には 3TB でも問題なく行けるはず。さておき。下記ではまず最初に label を gpt に設定した後、1 を / partition (ext3, rootfs, bootable) 10GiB 、2 が swap で 4Gib、3 で残り全てをLVMに割り当てている。コンサバ気味に rootfs は lvm 上ではなく素の primary 上に ext3 で作っている。1 の start を 2048s にしているのは 0 だと alignment がどうのと怒られたから。なお parted は interactive なやりとり中に disk を実際にいじっているので操作間違いにはくれぐれも注意。X で使ってるなら gparted の方がいいかも。
# parted /dev/sdb (parted) mklabel gpt ... (parted) mkpart primary 2048s 10GiB ... (parted) set 1 boot on ... (parted) mkpartfs primary linux-swap 10Gib 14GiB ... (parted) mkpart primary 14Gib -1s ... (parted) set 3 lvm on ... (parted) print Model: ATA ST3000DM001-9YN1 (scsi) Disk /dev/sdb: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 4295MB 4294MB ext3 primary 2 4295MB 8590MB 4295MB primary 3 8590MB 3001GB 2992GB primary lvm (parted) quitそうしておいて LVM 部分を更に /usr /var /home に切り分け。この辺は趣味の世界だけど、昔からの習性で自分で Linux を入れるときはなんとなくこの構成にしていることが多い。今時だと /var はもっと大きくてもいいが、Virtual Machine なんかも /home の下に作れば済むのでこれくらいにしてる。LVM の基本的な使い方は 基本的なLVMの使い方 や A Beginner's Guide To LVM 等を参照のこと。
# pvcreate /dev/sdb3 # pvscan PV /dev/sda3 VG userspace lvm2 [2.72 TiB / 0 free] Total: 1 [2.72 TiB] / in use: 1 [2.72 TiB] / in no VG: 0 [0 ] # vgcreate uservolume00 /dev/sdb3 # vgscan Reading all physical volumes. This may take a while... Found volume group "uservolume00" using metadata type lvm2 # lvcreate -L 10G -n usr # lvcreate -L 20G -n var # lvcreate -l 100%FREE -n home # lvscan ACTIVE '/dev/uservolume00/var' [20.00 GiB] inherit ACTIVE '/dev/uservolume00/usr' [10.00 GiB] inherit ACTIVE '/dev/uservolume00/home' [2.69 TiB] inheritあとは普通にファイルシステムを作る。
# mkfs -t ext4 /dev/uservolume00/home # mount -t ext4 /dev/uservolume00/home /mnt ...
2 rootfs その他を新しい disk に切り替え
元のファイルシステムは LVM とかじゃない素の partition なので、あまり素敵技術は使えない。もっと賢い方法があったら知りたいけど、とりあえず単純に rsync する。真面目にやる人は当然 single user mode でやりましょう。# mkdir /target # mount /dev/sdb1 /target # mkdir /target/usr /target/var # mount /dev/usrvolume00/usr /target/usr # mount /dev/usrvolume00/var /target/var # mount /dev/usrvolume00/home /target/home # rsync -avD /etc /bin /sbin /boot /lib /lib32 /lib64 /usr /var /target # rsync -avD /home /target # rsync -avD /vmlinuz /initrd.img /targetmount で見て殆どの tmpfs, procfs, sysfs, udev, devpts, cgroup とかは勝手に面倒見てくれるはずなので directory だけ作っておく。
# mkdir /target/proc /target/sys /target/run /target/dev /target/root /target/mnt /target/tmp新しいシステムでの /etc/fstab (/target/etc/fstab)を書き換え。 LVM じゃないやつは最初に UUID を取っておく。parted から label つけて使ってもいいけどそこはお好みで。
# blkid /dev/sdb1 /dev/sda1: UUID="......-.....-....." TYPE="ext3"swap も確保してるので作っておく。今時の mkswap なら UUID も勝手に割り当ててくれるはず。
# mkswap /dev/sda2/target/etc/fstab を編集。
UUID="......-.....-....." / ext3 defaults 0 1 /dev/uservolume00/usr /usr defaults 0 2 /dev/uservolume00/var /var defaults 0 2 /dev/uservolume00/home /home defaults 0 2 UUID="......-.....-....." none swap sw 0 0あとは grub を入れれば終わり。そのまま入れても initrd 等がおかしくなるので新しい / に chroot して linux-image を reconfigure する作戦。あと grub-install は GPT だと文句を言ってくるので --force で無理やり入れてしまう。
# chroot /target # dpkg-reconfigure linux-image-3.2.0-2-amd64 # grub-install /dev/sdb --forceとりあえず /boot/grub/grub.cfg の当該部分はこんな感じに。
menuentry 'Debian GNU/Linux, with Linux 3.2.0-2-amd64' --class debian --class gnu-linux --class gnu --class os { insmod gzio insmod part_gpt insmod ext2 set root='(hd1,gpt1)' search --no-floppy --fs-uuid --set=root a61b7b93-5992-49d3-aa12-ea65ec3d3325 echo 'Loading Linux 3.2.0-2-amd64 ...' linux /boot/vmlinuz-3.2.0-2-amd64 root=UUID=a61b7b93-5992-49d3-aa12-ea65ec3d3325 ro quiet echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.2.0-2-amd64 }物理的に sda と sdb のケーブルを繋ぎかえて再起動すれば完了、のはず。UUIDやLVMで管理しているので繋ぎ変える必要はないのだけど、これも趣味の問題である。
Debian lenny intall to HP ProLiant ML115
Posted by yoosee on Debian at 2007-12-19 23:00 JST1 Debian lenny install to HP ProLiant ML115
というエントリを書こうと思ったが、正直拍子抜けするくらい何の問題もなくインストールが終わった。インストールには CD-ROM に焼いた Debian-Installer netinst amd64 を利用。一部に書かれていた PS/2 キーボードが認識しなくなるという事象も無い。Dual Core の AMD Opteron 1210 は問題なく 2CPUs として認識。
SMP: Allowing 2 CPUs, 0 hotplug CPUs ... Dual-Core AMD Opteron(tm) Processor 1210 stepping 03 ... Calibrating delay using timer specific routine.. 3602.83 BogoMIPS (lpj=7205669) CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 1024K (64 bytes/line)Onboard NIC も問題なく認識。ドライバは tg3 のようだ。
eth0: Tigon3 [partno(N/A) rev 4201 PHY(5750)] (PCI Express) 10/100/1000Base-T Ethernet 00:1c:xx:xx:xx:xxSATA HDD は udev から /dev/sda として認識されている。UATA Slave に繋いだ HDD は /dev/hdb として認識。ちなみに UATAとSATAの両方にHDDを繋いでいたら、UATA側が優先BootデバイスになっていたのでBIOSから起動順序を変更した。トラブルといえるのはこの程度か。USB, Serial, ACPI, CD-ROM Drive の認識もインストーラお任せで特に問題無し。
チップセットは NFORCE-MCP55 というものなのだが、i2c-nforce が attach は出来るものの CPU core temp 程度しか取得できない。M/B温度、電圧、ファン速度の取得は出来ないんだろうか。HDD に関しては SATA, UATA 共に temp は hddtemp / smartctl で取得が可能、S.M.A.R.T 情報は smartctl から普通に取得が可能。
ところで Debian での package install や build が体感的に以前のマシン(P4 1.7GHz) と比べてものすごく速くなったんだが、DualCore の恩恵なのか、それとも SATA に繋いだ Barracuda 7200.11 (ST3500320AS) のお陰だろうか。
ノートPCの Debian を sarge から etch にあげる
Posted by yoosee on Debian at 2007-04-10 22:00 JST1 ノートPCの Debian を sarge から etch にあげる
upgrade を試みたらいきなり untrusted package 警告が出たので、 apt-key update でアップデート。etch のキーは archive-key-4.0.asc にあるようだ。取り込み後、再度 aptitude update して完了。sarge → etch の作業は、昔の dist-upgrade よりはあまり問題なく上がるようになったように思うし、conflict も深刻な物は殆んど無かったが、それでも厄介な部分は幾つかあった。特に xfree86 → xorg の変更に時間を使った。
2 xfree86 → xorg への upgrade
設定ファイルの書式自体は大差ないのでさほど困らなかったが、どうにもうまく X が起動しない。しばらく悩んでからようやく、 ~/.xsession から呼び出している gnome-session が upgrade 時に一時削除されたことに気づく。/var/log/Xorg.0.log は見ていたのに ~/.xsession-errors をちゃんと見ていなかったのが敗因か。起動後も、どうもフォーカスがおかしいと思ったら 915resolution の解像度設定が間違っていた。やれやれ...ちなみに CF-Y4 は xorg の i810 ドライバで動くことは確認。OpenGL は使えていないが DRI などは有効になっている。ただ更新後、X がやたらメモリを喰うようになった(VIRT 305MB, RES 41MB)気がする。動画や 3D 表示に使うことなど殆んどないのだから vesa に戻して様子を見てもいいかもしれない。
pilot-link が今さら新しくなってる
Posted by yoosee on Palm at 2006-09-30 23:42 JST1 pilot-link 0.12.1-5
気づいたら pilot-xfer の実行時表示が変わっていた。進行中の install byte size も出て、以前より分かり易くなっている。% pilot-xfer -p /dev/ttyUSB1 -i DateBk6.prc DateBk6-Resources.prc Listening for incoming connection on /dev/ttyUSB1... connected! Installing 'DateBk6.prc' ... (910388 bytes) 892 KiB total. Installing 'DateBk6-Resources.prc' ... (76012 bytes) 971 KiB total. Thank you for using pilot-link.Debian 的にはちょっと前の 0.12.0-1 で memos や remidners といった一般用語過ぎるコマンドを名前変更しているようだ。/usr/share/doc/pilot-link/NEWS.Debian.gz によると以下のようになっている。
pilot-link (0.12.0-1) experimental; urgency=low * To avoid namespace pollution a lot of commands from pilot-link have been renamed from foo to pilot-foo. So if you used a pilot-link command in a script you will have to update the script. The old name/new name list is: debugsh -> pilot-debugsh dlpsh -> pilot-dlpsh hinotes -> pilot-hinotes memos -> pilot-memos pi-csd -> pilot-csd pi-getram -> pilot-getram pi-getrom -> pilot-getrom pi-getromtoken -> pilot-getromtoken pi-nredir -> pilot-nredir reminders -> pilot-reminders Also note that the pilot-undelete has been removed. -- Ludovic Rousseau <rousseau@debian.org> Fri, 1 Sep 2006 16:55:43 +0200そういえばいまさら気づいたけど read-ical なんて言うコマンドもいつのまにかあるんだな。ちょっと試してみるか。
それPla(ry Plannet と言うのはどうだろう
Posted by yoosee on Web at 2006-08-24 23:42 JST1 それPla(ry Plannet
本文やコメントにそれPlaと言う単語があったら取得してくる Plannet があったらどうかなーと、それだけのネタ。
そう言えば休み中に Plagger を入れてみようと思って調べてみると、Debian なら
deb http://debian.hansode.org/ ./を /etc/apt/sources.list に入れればいいと言うことが分かったんだけど、いざ入れる段になったら CPAN package を 100 個以上入れようとすることにびびって中断したのだった。ぼちぼち諦めて(なにを?)入れるかな。
initrd.img の中身を見る
Posted by yoosee on Debian at 2006-03-05 23:42 JST1 initrd.img の中身は gzip された cpio archive
Debian で linux-image-2.6.x といったものをインストールすると、mkinitrd によって /boot/initrd.img-2.6.15-1-686 といった initrd イメージが作られる。実際にはこのファイルは gzip された cpio archive らしく、以下のようにすると展開できる。% mkdir /tmp/initrd && cd /tmp/initrd % gzip -dc /boot/initrd.img-2.6.15-1-686 | cpio -i 20487 blocks % ls -F bin/ conf/ etc/ init* lib/ modules/ sbin/ scripts/cpio -pLd と gzip で元の initrd.img を作れる、と言うか mkinitrd がしているのはそう言う操作。