daemonfreaks.com

ZFSに置いているデータを移行

posted by jun-g at Sat, 04 Jan 2014 21:28 JST

新しく作ったPCに旧PCからデータを移行しました。

前準備

旧PCはHDD2台構成で、1つはUFS、もう1つはZFSにしてZFS側にhomeを置いていました。

blackmagic# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad6s1a      2G    772M    1.0G    42%    /
devfs          1.0k    1.0k      0B   100%    /dev
/dev/ad6s1e    3.9G    903M    2.7G    25%    /tmp
/dev/ad6s1f    126G     18G     98G    16%    /usr
/dev/ad6s1d    3.9G    676M    2.9G    19%    /var
procfs         4.0k    4.0k      0B   100%    /proc
linprocfs      4.0k    4.0k      0B   100%    /usr/compat/linux/proc
pub            663G     33k    663G     0%    /pub
pub/home       913G    250G    663G    27%    /pub/home

今回データ移行したかったのは/homeだけなので、旧PCをバラす前に下準備。

blackmagic# umount /pub/home
blackmagic# umount /pub
blackmagic# zpool list
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
pub    928G   251G   677G    26%  1.00x  ONLINE  -
blackmagic# zpool export pub
blackmagic# zpool list
no pools available

homeを置いているzpool「pub」をexportして他のPCでimportできるようにして準備完了。

本作業

新しいPCはSSDとHDDの2台構成で両方ZFSにしました。OSのインストールはSSD側に行い、HDD側は後でzpool createして/homeにマウントしました。

旧PCで使っていたHDDを接続して、

blackmagic# zpool import pub

を実行すると/pubにマウントされるので、後は

$ cp -Rpv /pub/home/jun-g/* ~/.

して終了。

あまりよく知らないままZFS使っていましたが、簡単で良かったです。

/homeの容量が足りなくなったらHDDを追加して/homeを置いてるzpoolにaddするだけで容量を追加できるのでZFS素晴らしいですね。

自作PCを新調

posted by jun-g at Fri, 03 Jan 2014 22:31 JST

長い間お古のパーツ(Athlon64x2)で作ったPCを使っていましたが、秋ごろから頻繁に原因不明のカーネルパニックを起こすようになったのでそろそろ限界かなと思い、久々に自作PCの中身を新調しました。

新品のパーツで自作するのはPentium3(Socket370)の頃以来です。

スペックはこんな感じ。

CPU Intel Core i7 4771
マザーボード Gigabyte GA-Z87X-D3H
メモリ Corsair DDR3-PC3-17000 8GBx4
ビデオカード 玄人志向 GF-GTX660-E2GHD/DF/OC/A
SSD CFD販売 CSSD-S6T128NHG5Q
HDD Seagate ST3000DM001
BD BDR-209BK/WS
電源 KRPW-PT850W/92+

ケースは今は亡きWINDy製のでかいやつ。かれこれ10年以上使い続けてますが、気に入っているので恐らくATX規格が無くなるまで使い続けると思います。

OSは当然FreeBSD 10.0-RC2をインストールしました。インストール後すぐにfreebsd-updateして(初めて使った!)RC4に更新。dmesgはこんな感じ。

Copyright (c) 1992-2014 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.0-RC4 #0 r260130: Tue Dec 31 17:10:01 UTC 2013
    root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
CPU: Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz (3491.99-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x306c3  Family = 0x6  Model = 0x3c  Stepping = 3
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7ffafbff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,<b11>,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x21<LAHF,ABM>
  Standard Extended Features=0x2fbb<GSFSBASE,TSCADJ,BMI1,HLE,AVX2,SMEP,BMI2,ENHMOVSB,INVPCID,RTM>
  TSC: P-state invariant, performance statistics
real memory  = 34359738368 (32768 MB)
avail memory = 33239568384 (31699 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I>
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
 cpu4 (AP): APIC ID:  4
 cpu5 (AP): APIC ID:  5
 cpu6 (AP): APIC ID:  6
 cpu7 (AP): APIC ID:  7
ACPI Error: Null physical address for ACPI table [(null)] (20130823/tbutils-239)
ioapic0 <Version 2.0> irqs 0-23 on motherboard
random: <Software, Yarrow> initialized
kbd1 at kbdmux0
acpi0: <ALASKA A M I> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 67, 1 (4) failed
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
cpu4: <ACPI CPU> on acpi0
cpu5: <ACPI CPU> on acpi0
cpu6: <ACPI CPU> on acpi0
cpu7: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xe000-0xe07f mem 0xf2000000-0xf2ffffff,0xe8000000-0xefffffff,0xf0000000-0xf1ffffff irq 16 at device 0.0 on pci1
nvidia0: <GeForce GTX 660> on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: Boot video device
hdac0: <NVIDIA (0x0e0b) HDA Controller> mem 0xf3080000-0xf3083fff irq 17 at device 0.1 on pci1
xhci0: <Intel Lynx Point USB 3.0 controller> mem 0xf3120000-0xf312ffff irq 16 at device 20.0 on pci0
xhci0: 32 byte context size.
xhci0: Port routing mask set to 0xffffffff
usbus0 on xhci0
pci0: <simple comms> at device 22.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection 7.3.8> port 0xf040-0xf05f mem 0xf3100000-0xf311ffff,0xf3139000-0xf3139fff irq 20 at device 25.0 on pci0
em0: Using an MSI interrupt
em0: Ethernet address: 94:de:80:6b:03:6d
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf3138000-0xf31383ff irq 16 at device 26.0 on pci0
usbus1: EHCI version 1.0
usbus1 on ehci0
hdac1: <Intel Lynx Point HDA Controller> mem 0xf3130000-0xf3133fff irq 22 at device 27.0 on pci0
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> irq 19 at device 0.0 on pci3
pci4: <ACPI PCI bus> on pcib4
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xf3137000-0xf31373ff irq 23 at device 29.0 on pci0
usbus2: EHCI version 1.0
usbus2 on ehci1
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel Lynx Point AHCI SATA controller> port 0xf090-0xf097,0xf080-0xf083,0xf070-0xf077,0xf060-0xf063,0xf020-0xf03f mem 0xf3136000-0xf31367ff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
ahciem0: <AHCI enclosure management bridge> on ahci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
est2: <Enhanced SpeedStep Frequency Control> on cpu2
p4tcc2: <CPU Frequency Thermal Control> on cpu2
est3: <Enhanced SpeedStep Frequency Control> on cpu3
p4tcc3: <CPU Frequency Thermal Control> on cpu3
est4: <Enhanced SpeedStep Frequency Control> on cpu4
p4tcc4: <CPU Frequency Thermal Control> on cpu4
est5: <Enhanced SpeedStep Frequency Control> on cpu5
p4tcc5: <CPU Frequency Thermal Control> on cpu5
est6: <Enhanced SpeedStep Frequency Control> on cpu6
p4tcc6: <CPU Frequency Thermal Control> on cpu6
est7: <Enhanced SpeedStep Frequency Control> on cpu7
p4tcc7: <CPU Frequency Thermal Control> on cpu7
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
Timecounters tick every 1.000 msec
hdacc0: <NVIDIA (0x0041) HDA CODEC> at cad 0 on hdac0
hdaa0: <NVIDIA (0x0041) Audio Function Group> at nid 1 on hdacc0
pcm0: <NVIDIA (0x0041) (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm1: <NVIDIA (0x0041) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm2: <NVIDIA (0x0041) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm3: <NVIDIA (0x0041) (HDMI/DP 8ch)> at nid 7 on hdaa0
hdacc1: <Realtek ALC892 HDA CODEC> at cad 2 on hdac1
hdaa1: <Realtek ALC892 Audio Function Group> at nid 1 on hdacc1
pcm4: <Realtek ALC892 (Rear Analog 5.1/2.0)> at nid 20,22,21 and 24,26 on hdaa1
pcm5: <Realtek ALC892 (Front Analog)> at nid 27 and 25 on hdaa1
pcm6: <Realtek ALC892 (Onboard Digital)> at nid 17 and 31 on hdaa1
pcm7: <Realtek ALC892 (Rear Digital)> at nid 30 on hdaa1
random: unblocking device.
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
ugen2.1: <Intel> at usbus2
uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen0.1: <0x8086> at usbus0
uhub2: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ada0 at ahcich1 bus 0 scbus0 target 0 lun 0
ada0: <TOSHIBA THNSNH128GCST HTRAN101> ATA-9 SATA 3.x device
ada0: Serial Number 93GS10BMTPEY
ada0: 600.000MB/s transfers (SATA 3.x, UDMA5, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 122104MB (250069680 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ada1 at ahcich3 bus 0 scbus1 target 0 lun 0
ada1: <ST3000DM001-1CH166 CC27> ATA-9 SATA 3.x device
ada1: Serial Number Z1F3WH0A
ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 2861588MB (5860533168 512 byte sectors: 16H 63S/T 16383C)
ada1: quirks=0x1<4K>
ada1: Previously was known as ad6
ses0 at ahciem0 bus 0 scbus3 target 0 lun 0
ses0: <AHCI SGPIO Enclosure 1.00 0001> SEMB S-E-S 2.00 device
ses0: SEMB SES Device
cd0 at ahcich5 bus 0 scbus2 target 0 lun 0
cd0: <PIONEER BD-RW   BDR-209 1.10> Removable CD-ROM SCSI-0 device
cd0: Serial Number MIDL005607WL
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
Netvsc initializing... SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #6 Launched!
SMP: AP CPU #3 Launched!
SMP: AP CPU #5 Launched!
SMP: AP CPU #7 Launched!
SMP: AP CPU #4 Launched!
Timecounter "TSC-low" frequency 1745993011 Hz quality 1000
Root mount waiting for: usbus2 usbus1 usbus0
uhub1: 2 ports with 2 removable, self powered
uhub0: 2 ports with 2 removable, self powered
uhub2: 21 ports with 21 removable, self powered
Root mount waiting for: usbus2 usbus1 usbus0
xhci0: Port routing mask set to 0x00000000
usb_alloc_device: device init 2 failed (USB_ERR_IOERROR, ignored)
ugen0.2: <Unknown> at usbus0 (disconnected)
uhub_reattach_port: could not allocate new device
ugen2.2: <vendor 0x8087> at usbus2
uhub3: <vendor 0x8087 product 0x8000, class 9/0, rev 2.00/0.04, addr 2> on usbus2
ugen1.2: <vendor 0x8087> at usbus1
uhub4: <vendor 0x8087 product 0x8008, class 9/0, rev 2.00/0.04, addr 2> on usbus1
uhub4: 6 ports with 6 removable, self powered
uhub3: 8 ports with 8 removable, self powered
ugen2.3: <vendor 0x045b> at usbus2
uhub5: <vendor 0x045b product 0x0209, class 9/0, rev 2.00/1.00, addr 3> on usbus2
Root mount waiting for: usbus2
uhub5: 4 ports with 4 removable, self powered
ugen2.4: <vendor 0x045b> at usbus2
uhub6: <vendor 0x045b product 0x0209, class 9/0, rev 2.00/1.00, addr 4> on usbus2
Root mount waiting for: usbus2
uhub6: 4 ports with 4 removable, self powered
Root mount waiting for: usbus2
ugen2.5: <Microsoft> at usbus2
Trying to mount root from zfs:zroot0/ROOT/default []...
ums0: <Microsoft Microsoft Optical Mouse with Tilt Wheel, class 0/0, rev 2.00/1.20, addr 5> on usbus2
ums0: 3 buttons and [XYZT] coordinates ID=17
ums0: 0 buttons and [T] coordinates ID=0
em0: link state changed to UP

細かい設定とデータ移行はこれから。

ハイパーバイザ型仮想化ソフト事始め その2

posted by jun-g at Sun, 24 Apr 2011 16:00 JST

前回の続き 。とりあえずインストールして簡単に触ってみたところまで。

Citrix XenServer

  1. インストールは簡単。
  2. 接続したHDDをインストール時に全て選択しておけば、LVMの論理ボリュームとなり1つのHDDとして見える。便利。
  3. XenCenterというWindowsで動作する管理ソフトが必須という事実を知って驚愕した。 悪あがきとして OpenXenManager というソフトを見つけてきて試してみたが、メモリの設定がうまく出来なかったので断念してWinXPの入ったノートPCにXenCenterをインストールした。
  4. VMの設定は超簡単。

VMware vSphere Hypervisor

  1. インストール途中でエラーになってインストールに難儀した。ググって見つけたページ ProLiant ML110 G6 と VMware ESXi 4.1 によると、インストーラーがML110 G6のDVDドライブを認識しないとの事だったので、USBでCDドライブを接続してそちらからインストールすることで事無きを得た。
  2. こちらもWindowsで動作する管理ソフトが必須。無念。
  3. HDDは個別の管理。単一の大きなボリュームとして扱うにはハードウェアRAIDを組むしか無さそう。
  4. VMの設定は簡単だが、VMから起動するゲストOSからも内蔵DVDドライブが見えないようなのでCDからのインストールはとても面倒。

Microsoft Hyper-V Server 2008 R2

  1. インストールイメージの容量がやたらデカイのでちょいビビりながらDVDに焼いて起動してみると、まさかのWindowsのインストールが始まった。容量がデカイ原因はこれかー!
  2. Windowsが入るんならもしかしてクライアントソフトがいらないんじゃ? 1台で完結できるのならHyper-Vが最強じゃ? と思って一瞬だけニヤニヤしたが、インストール後に起動してみるとそれらしいメニューは見付けられず、よくよく調べてみるとやはり管理ソフト必須、しかもVista以降のみ対応だった。
  3. XPしか持ってないので評価もできず断念。悲しー。

ということで、上記3つを試して(厳密には2つしか試せてない)みたところ、XenServerがとても使いやすそうに感じたので、OSはひとまずXenServerを使うことにした。

次に、

  • HDD容量はVM用に沢山置いときたいのでホストOSはUSBメモリにインストールしたい
  • LVMは手軽だけど冗長化したいのでRAID組んどきたい

と、試してみたいことが出てきたので、XenServerでこの2点を試してみることにした。

つづく。

ハイパーバイザ型仮想化ソフト事始め その1

posted by jun-g at Tue, 19 Apr 2011 12:53 JST

先月、NTT-X StoreでHP ProLiant ML110 G6のCeleronモデルが安く売ってるのを見て、思わず衝動買いした。これ→HP ML110 G6 CeleronG1101 2.26GHz/2GB/SATA160GB 5100780-ARUH - NTT-X Store。先月買った時はクーポンが3000円だったけど、今見たら4000円になってるな。

で、せっかくなので最近流行り?の仮想化ソフトを使って、自宅で3台ほど動いてるサーバを1台に集約してスペースと電気代を節約したいなあと思い、追加でパーツを購入した。

まずはメモリ。ECC付きでないとダメらしいが、最近はECC付きメモリも安く買えるので良かった。ということで、トランセンドのDDR3-4GBメモリを4枚購入。

4GB DDR3 1333 ECC DIMM 9-9-9 2 Rank
トランセンド・ジャパン
売り上げランキング: 14946

次にHDD。WDに身売りされてしまった日立HGSGの1TBのHDDを4台購入。

日立 HGST Deskstar パッケージ版 3.5inch 1TB 32MB 7200rpm 0S02601
日立グローバルストレージテクノロジーズ
売り上げランキング: 370

貯まってたポイントを使ったりしたが、結局サーバ本体と合わせて合計で5万円ちょいぐらいだった。安く済んで良かった。

次はインストールするソフトの選定。無償で使えるハイパーバイザ型のソフトはCitrix XenServerVMware vSphere HypervisorMicrosoft Hyper-V Server 2008 R2、そしてオープンソース版のXen hypervisorの4つが代表的なものらしい。折角なので全部試してみて一番使いやすいのにしようと思い、片っ端からインストールしてみた。

つづく。