start

ESXi 5.1のLACPでリンクアグリゲーションしようとして出来なかった

「HDD3台を2セットでRAID-Zのストライピングしてて、折角書き込み235MiB/s、読み込み356MiB/s出てるのにギガビットイーサで律速されるのは勿体ないなぁ……と思っていたら、あれ?どこからともなくBS-G2016MRとNetXtreme II 5709デュアルポートイーサネットカードが出てきましたよ?(白々しい)。よし、これでリンクアグリゲーションして帯域を2Gbpsにするぞ!」と思って試してみたけど、単純な増速は無理っぽかったorz

先に結論を書いておくと、ESXi配下の物理NICを束ねて1セッションあたりの論理リンク速度を上げるのは基本的に無理。VMの通信速度はNIC1枚の物理リンク速度が上限で、束ねたNICは負荷分散動作にしかならない(一応VM側に細工を施せば限界突破出来るようだが、OSを選んだり負荷が高くなったり、何より設定が面倒なので却下。)

また、タイトルで「ESXi 5.1のLACPで」と書いたが、LACPの設定はWebClientからじゃないと出来ない模様。

LAGまわりは用語が混在してて訳が分からん……ちゃんと勉強しないとダメだなorz

稼働中のvSphere Hypervisorは5.0U1なので5.1に更新する。

~ # esxcli network firewall ruleset set -e true -r httpClient
~ # esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Name                              Vendor        Acceptance Level
--------------------------------  ------------  ----------------
ESXi-5.0.0-20120904001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20121202001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120904001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20121201001s-standard  VMware, Inc.  PartnerSupported
ESXi-5.1.0-799733-no-tools        VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120604001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120704001-standard   VMware, Inc.  PartnerSupported
ESXi-5.1.0-20121204001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120701001s-standard  VMware, Inc.  PartnerSupported
ESXi-5.1.0-799733-standard        VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120404001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-469512-no-tools        VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120604001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20111104001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120301001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-5.0.0-20110904001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120901001s-standard  VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120701001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-5.1.0-20121201001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120504001-standard   VMware, Inc.  PartnerSupported
ESXi-5.1.0-20121204001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120704001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.1.0-20121004001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20110904001-notools    VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120404001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20111104001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20121202001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20111204001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20121201001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-5.0.0-469512-standard        VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120302001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120504001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20111204001-standard   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120302001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.1.0-20121201001s-standard  VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120901001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-5.1.0-20121004001-no-tools   VMware, Inc.  PartnerSupported
ESXi-5.0.0-20120301001s-standard  VMware, Inc.  PartnerSupported
 
~ # vmware -vl
VMware ESXi 5.0.0 build-623860
VMware ESXi 5.0.0 Update 1
 
~ # esxcli software profile install -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-5.1.0-799733-standard
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-atiixp_0.4.6-4vmw.510.0.0.799733, VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-via_0.3.3-2vmw.510.0.0.799733, VMware_bootbank_block-cciss_3.6.14-10vmw.510.0.0.799733, VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.510.0.0.799733, VMware_bootbank_esx-base_5.1.0-0.0.799733, VMware_bootbank_esx-dvfilter-generic-fastpath_5.1.0-0.0.799733, VMware_bootbank_esx-tboot_5.1.0-0.0.799733, VMware_bootbank_esx-xlibs_5.1.0-0.0.799733, VMware_bootbank_esx-xserver_5.1.0-0.0.799733, VMware_bootbank_ima-qla4xxx_2.01.31-1vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-devintf_39.1-4vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-msghandler_39.1-4vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-si-drv_39.1-4vmw.510.0.0.799733, VMware_bootbank_misc-cnic-register_1.1-1vmw.510.0.0.799733, VMware_bootbank_misc-drivers_5.1.0-0.0.799733, VMware_bootbank_net-be2net_4.1.255.11-1vmw.510.0.0.799733, VMware_bootbank_net-bnx2_2.0.15g.v50.11-7vmw.510.0.0.799733, VMware_bootbank_net-bnx2x_1.61.15.v50.3-1vmw.510.0.0.799733, VMware_bootbank_net-cnic_1.10.2j.v50.7-3vmw.510.0.0.799733, VMware_bootbank_net-e1000_8.0.3.1-2vmw.510.0.0.799733, VMware_bootbank_net-e1000e_1.1.2-3vmw.510.0.0.799733, VMware_bootbank_net-enic_1.4.2.15a-1vmw.510.0.0.799733, VMware_bootbank_net-forcedeth_0.61-2vmw.510.0.0.799733, VMware_bootbank_net-igb_2.1.11.1-3vmw.510.0.0.799733, VMware_bootbank_net-ixgbe_3.7.13.6iov-10vmw.510.0.0.799733, VMware_bootbank_net-nx-nic_4.0.558-3vmw.510.0.0.799733, VMware_bootbank_net-r8168_8.013.00-3vmw.510.0.0.799733, VMware_bootbank_net-r8169_6.011.00-2vmw.510.0.0.799733, VMware_bootbank_net-s2io_2.1.4.13427-3vmw.510.0.0.799733, VMware_bootbank_net-sky2_1.20-2vmw.510.0.0.799733, VMware_bootbank_net-tg3_3.110h.v50.4-4vmw.510.0.0.799733, VMware_bootbank_net-vmxnet3_1.1.3.0-3vmw.510.0.0.799733, VMware_bootbank_ohci-usb-ohci_1.0-3vmw.510.0.0.799733, VMware_bootbank_sata-ahci_3.0-13vmw.510.0.0.799733, VMware_bootbank_sata-ata-piix_2.12-6vmw.510.0.0.799733, VMware_bootbank_sata-sata-nv_3.5-4vmw.510.0.0.799733, VMware_bootbank_sata-sata-promise_2.12-3vmw.510.0.0.799733, VMware_bootbank_sata-sata-sil24_1.1-1vmw.510.0.0.799733, VMware_bootbank_sata-sata-sil_2.3-4vmw.510.0.0.799733, VMware_bootbank_sata-sata-svw_2.3-3vmw.510.0.0.799733, VMware_bootbank_scsi-aacraid_1.1.5.1-9vmw.510.0.0.799733, VMware_bootbank_scsi-adp94xx_1.0.8.12-6vmw.510.0.0.799733, VMware_bootbank_scsi-aic79xx_3.1-5vmw.510.0.0.799733, VMware_bootbank_scsi-bnx2i_1.9.1d.v50.1-5vmw.510.0.0.799733, VMware_bootbank_scsi-fnic_1.5.0.3-1vmw.510.0.0.799733, VMware_bootbank_scsi-hpsa_5.0.0-21vmw.510.0.0.799733, VMware_bootbank_scsi-ips_7.12.05-4vmw.510.0.0.799733, VMware_bootbank_scsi-lpfc820_8.2.3.1-127vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid-mbox_2.20.5.1-6vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid-sas_5.34-4vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid2_2.00.4-9vmw.510.0.0.799733, VMware_bootbank_scsi-mpt2sas_10.00.00.00-5vmw.510.0.0.799733, VMware_bootbank_scsi-mptsas_4.23.01.00-6vmw.510.0.0.799733, VMware_bootbank_scsi-mptspi_4.23.01.00-6vmw.510.0.0.799733, VMware_bootbank_scsi-qla2xxx_902.k1.1-9vmw.510.0.0.799733, VMware_bootbank_scsi-qla4xxx_5.01.03.2-4vmw.510.0.0.799733, VMware_bootbank_scsi-rste_2.0.2.0088-1vmw.510.0.0.799733, VMware_bootbank_uhci-usb-uhci_1.0-3vmw.510.0.0.799733, VMware_locker_tools-light_5.1.0-0.0.799733
   VIBs Removed: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-atiixp_0.4.6-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-via_0.3.3-2vmw.500.0.0.469512, VMware_bootbank_block-cciss_3.6.14-10vmw.500.0.0.469512, VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.500.1.11.623860, VMware_bootbank_esx-base_5.0.0-1.11.623860, VMware_bootbank_esx-tboot_5.0.0-0.0.469512, VMware_bootbank_ima-qla4xxx_2.01.07-1vmw.500.0.0.469512, VMware_bootbank_ipmi-ipmi-devintf_39.1-4vmw.500.0.0.469512, VMware_bootbank_ipmi-ipmi-msghandler_39.1-4vmw.500.0.0.469512, VMware_bootbank_ipmi-ipmi-si-drv_39.1-4vmw.500.0.0.469512, VMware_bootbank_misc-cnic-register_1.1-1vmw.500.0.0.469512, VMware_bootbank_misc-drivers_5.0.0-1.11.623860, VMware_bootbank_net-be2net_4.0.88.0-1vmw.500.0.7.515841, VMware_bootbank_net-bnx2_2.0.15g.v50.11-5vmw.500.0.0.469512, VMware_bootbank_net-bnx2x_1.61.15.v50.1-1vmw.500.0.0.469512, VMware_bootbank_net-cnic_1.10.2j.v50.7-2vmw.500.0.0.469512, VMware_bootbank_net-e1000_8.0.3.1-2vmw.500.0.7.515841, VMware_bootbank_net-e1000e_1.1.2-3vmw.500.1.11.623860, VMware_bootbank_net-enic_1.4.2.15a-1vmw.500.0.0.469512, VMware_bootbank_net-forcedeth_0.61-2vmw.500.0.0.469512, VMware_bootbank_net-igb_2.1.11.1-3vmw.500.0.0.469512, VMware_bootbank_net-ixgbe_2.0.84.8.2-10vmw.500.0.0.469512, VMware_bootbank_net-nx-nic_4.0.557-3vmw.500.1.11.623860, VMware_bootbank_net-r8168_8.013.00-3vmw.500.0.0.469512, VMware_bootbank_net-r8169_6.011.00-2vmw.500.0.0.469512, VMware_bootbank_net-s2io_2.1.4.13427-3vmw.500.0.0.469512, VMware_bootbank_net-sky2_1.20-2vmw.500.0.0.469512, VMware_bootbank_net-tg3_3.110h.v50.4-4vmw.500.0.0.469512, VMware_bootbank_ohci-usb-ohci_1.0-3vmw.500.0.0.469512, VMware_bootbank_sata-ahci_3.0-6vmw.500.1.11.623860, VMware_bootbank_sata-ata-piix_2.12-4vmw.500.1.11.623860, VMware_bootbank_sata-sata-nv_3.5-3vmw.500.0.0.469512, VMware_bootbank_sata-sata-promise_2.12-3vmw.500.0.0.469512, VMware_bootbank_sata-sata-sil_2.3-3vmw.500.0.0.469512, VMware_bootbank_sata-sata-svw_2.3-3vmw.500.0.0.469512, VMware_bootbank_scsi-aacraid_1.1.5.1-9vmw.500.1.11.623860, VMware_bootbank_scsi-adp94xx_1.0.8.12-6vmw.500.0.0.469512, VMware_bootbank_scsi-aic79xx_3.1-5vmw.500.0.0.469512, VMware_bootbank_scsi-bnx2i_1.9.1d.v50.1-3vmw.500.0.0.469512, VMware_bootbank_scsi-fnic_1.5.0.3-1vmw.500.0.0.469512, VMware_bootbank_scsi-hpsa_5.0.0-17vmw.500.0.0.469512, VMware_bootbank_scsi-ips_7.12.05-4vmw.500.0.0.469512, VMware_bootbank_scsi-lpfc820_8.2.2.1-18vmw.500.0.0.469512, VMware_bootbank_scsi-megaraid-mbox_2.20.5.1-6vmw.500.0.0.469512, VMware_bootbank_scsi-megaraid-sas_5.34-1vmw.500.1.11.623860, VMware_bootbank_scsi-megaraid2_2.00.4-9vmw.500.0.0.469512, VMware_bootbank_scsi-mpt2sas_06.00.00.00-6vmw.500.1.11.623860, VMware_bootbank_scsi-mptsas_4.23.01.00-5vmw.500.0.0.469512, VMware_bootbank_scsi-mptspi_4.23.01.00-5vmw.500.0.0.469512, VMware_bootbank_scsi-qla2xxx_901.k1.1-14vmw.500.0.0.469512, VMware_bootbank_scsi-qla4xxx_5.01.03.2-3vmw.500.0.0.469512, VMware_bootbank_scsi-rste_2.0.2.0088-1vmw.500.1.11.623860, VMware_bootbank_uhci-usb-uhci_1.0-3vmw.500.0.0.469512, VMware_locker_tools-light_5.0.0-1.11.623860
   VIBs Skipped: 

素のESXi 5.1はPCIパススルーにバグ持ちなので対策パッチを当てる。

# esxcli software vib install -d /vmfs/volumes/Datastore/ESXi510-201212001.zip 
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMware_bootbank_esx-base_5.1.0-0.9.914609, VMware_locker_tools-light_5.1.0-0.9.914609
   VIBs Removed: VMware_bootbank_esx-base_5.1.0-0.0.799733, VMware_locker_tools-light_5.1.0-0.0.799733
   VIBs Skipped: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-atiixp_0.4.6-4vmw.510.0.0.799733, VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-via_0.3.3-2vmw.510.0.0.799733, VMware_bootbank_block-cciss_3.6.14-10vmw.510.0.0.799733, VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.510.0.0.799733, VMware_bootbank_esx-dvfilter-generic-fastpath_5.1.0-0.0.799733, VMware_bootbank_esx-tboot_5.1.0-0.0.799733, VMware_bootbank_esx-xlibs_5.1.0-0.0.799733, VMware_bootbank_esx-xserver_5.1.0-0.0.799733, VMware_bootbank_ima-qla4xxx_2.01.31-1vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-devintf_39.1-4vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-msghandler_39.1-4vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-si-drv_39.1-4vmw.510.0.0.799733, VMware_bootbank_misc-cnic-register_1.1-1vmw.510.0.0.799733, VMware_bootbank_misc-drivers_5.1.0-0.0.799733, VMware_bootbank_net-be2net_4.1.255.11-1vmw.510.0.0.799733, VMware_bootbank_net-bnx2_2.0.15g.v50.11-7vmw.510.0.0.799733, VMware_bootbank_net-bnx2x_1.61.15.v50.3-1vmw.510.0.0.799733, VMware_bootbank_net-cnic_1.10.2j.v50.7-3vmw.510.0.0.799733, VMware_bootbank_net-e1000_8.0.3.1-2vmw.510.0.0.799733, VMware_bootbank_net-e1000e_1.1.2-3vmw.510.0.0.799733, VMware_bootbank_net-enic_1.4.2.15a-1vmw.510.0.0.799733, VMware_bootbank_net-forcedeth_0.61-2vmw.510.0.0.799733, VMware_bootbank_net-igb_2.1.11.1-3vmw.510.0.0.799733, VMware_bootbank_net-ixgbe_3.7.13.6iov-10vmw.510.0.0.799733, VMware_bootbank_net-nx-nic_4.0.558-3vmw.510.0.0.799733, VMware_bootbank_net-r8168_8.013.00-3vmw.510.0.0.799733, VMware_bootbank_net-r8169_6.011.00-2vmw.510.0.0.799733, VMware_bootbank_net-s2io_2.1.4.13427-3vmw.510.0.0.799733, VMware_bootbank_net-sky2_1.20-2vmw.510.0.0.799733, VMware_bootbank_net-tg3_3.110h.v50.4-4vmw.510.0.0.799733, VMware_bootbank_net-vmxnet3_1.1.3.0-3vmw.510.0.0.799733, VMware_bootbank_ohci-usb-ohci_1.0-3vmw.510.0.0.799733, VMware_bootbank_sata-ahci_3.0-13vmw.510.0.0.799733, VMware_bootbank_sata-ata-piix_2.12-6vmw.510.0.0.799733, VMware_bootbank_sata-sata-nv_3.5-4vmw.510.0.0.799733, VMware_bootbank_sata-sata-promise_2.12-3vmw.510.0.0.799733, VMware_bootbank_sata-sata-sil24_1.1-1vmw.510.0.0.799733, VMware_bootbank_sata-sata-sil_2.3-4vmw.510.0.0.799733, VMware_bootbank_sata-sata-svw_2.3-3vmw.510.0.0.799733, VMware_bootbank_scsi-aacraid_1.1.5.1-9vmw.510.0.0.799733, VMware_bootbank_scsi-adp94xx_1.0.8.12-6vmw.510.0.0.799733, VMware_bootbank_scsi-aic79xx_3.1-5vmw.510.0.0.799733, VMware_bootbank_scsi-bnx2i_1.9.1d.v50.1-5vmw.510.0.0.799733, VMware_bootbank_scsi-fnic_1.5.0.3-1vmw.510.0.0.799733, VMware_bootbank_scsi-hpsa_5.0.0-21vmw.510.0.0.799733, VMware_bootbank_scsi-ips_7.12.05-4vmw.510.0.0.799733, VMware_bootbank_scsi-lpfc820_8.2.3.1-127vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid-mbox_2.20.5.1-6vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid-sas_5.34-4vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid2_2.00.4-9vmw.510.0.0.799733, VMware_bootbank_scsi-mpt2sas_10.00.00.00-5vmw.510.0.0.799733, VMware_bootbank_scsi-mptsas_4.23.01.00-6vmw.510.0.0.799733, VMware_bootbank_scsi-mptspi_4.23.01.00-6vmw.510.0.0.799733, VMware_bootbank_scsi-qla2xxx_902.k1.1-9vmw.510.0.0.799733, VMware_bootbank_scsi-qla4xxx_5.01.03.2-4vmw.510.0.0.799733, VMware_bootbank_scsi-rste_2.0.2.0088-1vmw.510.0.0.799733, VMware_bootbank_uhci-usb-uhci_1.0-3vmw.510.0.0.799733

5.1に更新するとsata-ahc.v00などが上書きされるので、独自ドライバなどを導入してる場合はそれらを再インストールしないと残念な事になる。

VirtualBoxに物理HDDを丸ごと1台割り当てる

BootCampパーティションだけをVMにアタッチしている例は見かけるが、BootCampパーティションのあるHDDを丸ごとアタッチしている例がなかったのでメモ。

$ sudo diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
$ sudo vboxmanage internalcommands createrawvmdk -filename ./BootCampHDD.vmdk -rawdisk /dev/disk2
RAW host disk access VMDK file ./BootCampHDD.vmdk created successfully.
$ sudo chown username BootCampHDD.vmdk

/dev/disk2の箇所は環境に合わせて適宜読み替えてくだしあ。

後は作ったvmdkをVMに割り当てればおk。

VM起動時はBootCampパーティション単体の場合と同じく、ドライブをアウンマウント&パーミッションを変更する。VM起動中にMacをスリープ&復帰させると、問答無用でドライブがMac側にマウントされてしまうのはどうにかしたいところ(確かVMware FusionのBootCamp起動ではスリープにしても問題がなかった)。Disk Arbitration Frameworkを使えば実現出来そうな気がするので、ちょいと調査中。

HFS+の透過圧縮でディスク容量を節約してみる

Mac Proのストレージを、1TBのHDDから240GB(120GBx2のRAID-0)のSSDに替えたところ、容量カツカツでわろえない。残容量の不安も然る事ながら、ウェアレベリングの観点からも、空きが少ないのはハード的にも精神的にもよろしくない。

溜まりに溜まったゴミデータの整理や、塩漬けデータをNASに移したりして容量確保に勉めたが、自ずと限界はある。「こんな時ZFSなら透過圧縮で容量稼げるのにな…」と愚痴を言ってみたところで、Snow Leopard以降HFS+にも透過圧縮が付いた事を思い出した。

善は急げと、試しに/Developerを圧縮してみた。

$ cd /
$ sudo ditto --hfsCompression Developer DeveloperC
$ afsctool -v /DeveloperC
/DeveloperC:
Number of HFS+ compressed files: 155245
Total number of files: 181386
Total number of folders: 30417
Total number of items (number of files + number of folders): 211803
Folder size (uncompressed; reported size by Mac OS 10.6+ Finder): 5566353923 bytes / 5.98 GB (gigabytes) / 5.57 GiB (gibibytes)
Folder size (compressed - decmpfs xattr; reported size by Mac OS 10.0-10.5 Finder): 2354926231 bytes / 2.53 GB (gigabytes) / 2.35 GiB (gibibytes)
Folder size (compressed): 2551670089 bytes / 2.72 GB (gigabytes) / 2.54 GiB (gibibytes)
Compression savings: 54.2%
Approximate total folder size (files + file overhead + folder overhead): 2822868266 bytes / 2.82 GB (gigabytes) / 2.63 GiB (gibibytes)

5.57GiBが2.54GiBへ・・・これは素晴らしい!同様にXcode 4は3.43GiB→1.78GiB、ドキュメント(~/Library/Developer/Shared/Documentation)は5.02GiB→2.69GiBを達成。

仮想マシンのイメージを圧縮したら激ウマじゃね!!??と思い、14.21GiBの.vmwarevmを圧縮してみたら13.18GiBにしかならんかった(´・ω・`)

注意点は、圧縮以後に追加されたファイルには自動で圧縮が掛からない(その都度手動で圧縮しないといけない)のと、manを見ると一応「システムファイルのインストールやバックアップ用途のみを想定」となっている事。リアルタイムで圧縮が掛からないのは、そういう前提があるからなのかな?まぁ、殆ど変化することのないアプリの圧縮には十分っすね。どうしてもリアルタイム圧縮が欲しいなら、Clustersというアプリがある。有料だけど。

Mountain LionにXcode 3をインストール

OS再インストールに伴い再びML上にXcode 3を入れる機会が巡ってきた。

やはりカーネルパニックで強制シャットダウンは気持ちのいいものではないので、調べてみたらKPを回避してインストールする方法を見つけた。素敵過ぎる。

  1. Xcode 3.2.6のDMGをマウントし、中身を丸ごとターミナル経由でコピーする(Finderだと不可視項目をコピー出来ない)。
    cp -R /Volumes/Xcode\ and\ iOS\ SDK/ ~/Desktop/Xcode

  2. インストールスクリプトを編集し、カーネルパニックの原因となるパッケージをインストールされないようにする。

    ~/Desktop/Xcode/Xcode and iOS SDK.mpkg/Contents/iPhoneSDKSL.dist
    【145行目付近】
    function isDevToolsCompatible()
    {
        if ( system.env.COMMAND_LINE_INSTALL == 1 ) { return true; }
        if( system.compareVersions(my.target.systemVersion.ProductVersion, '10.6.6')  >= 0 && system.compareVersions(my.target.systemVersion.ProductVersion, '10.7') < 0 ) {
            return true;
        }
        return false;
    }
    ↓
    function isDevToolsCompatible()
    {
        return true;
    }
     
    --------
    【182行目を削除】
    <line choice="XcodeExtrasHIDDEN"/>
    ↓
    (削除)
     
    --------
    【425〜433行目を削除】
    <choice
            id="XcodeExtrasHIDDEN"
    	customLocation = '/'
            customLocationAllowAlternateVolumes = 'YES'
            start_visible='false'
    >
            <pkg-ref id="com.apple.pkg.Xcode_MacOSX10.6_Extras"/>
    </choice>
     
    ↓
    (削除)
     
    --------
    【528〜529行目を削除】
    <pkg-ref id="com.apple.pkg.Xcode_MacOSX10.6_Extras" auth='root'>file:../Packages/Xcode_MacOSX10.6_Extras.pkg</pkg-ref>
     
    ↓
    (削除)
     
    --------
    【650行目を削除】
    <pkg-ref id='com.apple.pkg.Xcode_MacOSX10.6_Extras' installKBytes='14742'/>
    ↓
    (削除)

  3. コピーしたXcode and iOS SDK.mpkgを実行する。「“Xcode and iOS SDK”を開くには、インストーラを終了してから再度開く必要があります。」と出るので、そのまま[OK]を押す。インストーラを32ビット版で開き直してるらしい。
  4. 「証明書切れ〜」と言われるが、気にせず[続ける]押下。インストールパッケージの選択画面まで進める。
  5. インストールパッケージの選択でSystem Toolsのチェックを外す。さもないとCHUDのカーネル拡張が悪さをしてカーネルパニックになる。UNIX Developmentを選んだ場合、後ほど対応が必要。iOS SDKは古過ぎて開発には使えないので入れる必要もないだろう。その他のオプションはご自由に。
  6. 途中で「iTunesを終了せよ」的なダイアログが出てきた場合、iTunesを終了すると共にアクティビティモニタから「iTunes Helper」も終了させる。
  7. /Developer/usr/bin の中の壊れているシンボリックリンクを修正。……といっても、それらしきものは見つからなかったのでスルー。
  8. インストールオプションでUNIX Developmentを選択し、かつXcode 4のCommand Line Toolsを既にインストールしていた場合、Command Line Toolsを再インストールする。UNIX Developmentで置き換わってしまったため。
  9. インストールが終わったら、/Developer/PlatformsにMacOSX.platformディレクトリだけが存在している事を確認。他のplatformがあったらtmpディレクトリを作りその中に移動する。さもないとInterface Builderが起動しない。
  10. インストール完了!

OS X v10.8にXcode 3.2.6を強制インストールしようとすると、途中で突然Macがブラックアウトし再起動中に再び落ちるという、お顔真っ青ループに陥る。

Xcode 3に含まれるカーネル拡張が悪さをしてるので、当該kextを削除してやればおkという訳で、作業の覚書。といってもここの手順に従うだけ。

先述したが、インストール中に問答無用で落ちるので、他のアプリなどが動いていない状態で実行した方が良い。あと自己責任で。消してるkextから想像するに、プロファイラ系のツールが使えなくなるかもしれない(激しく未確認→やはりプロファイラが使えなくなっていた)。

  1. 復旧スクリプトを準備する
    fsck -fy
    mount -uw /
    rm -rf /System/Library/Extensions/AppleProfileFamily.kext
    rm -rf /System/Library/Extensions/CHUD*.kext

    (2013-04-03追記) スクリプトファイルを作ったら chmod +x /path/to/repair-script で実行属性を付ける。

  2. Xcode 3のDMGをマウントし、ターミナルを開いてインストーラを起動する

    cd "/Volumes/Xcode and iOS SDK"
    COMMAND_LINE_INSTALL=1 open "Xcode and iOS SDK.mpkg"

  3. iOS SDKは除いてXcodeをインストールする。さもないとInterface Builderが使えなくなる。
  4. インストール終盤でカーネルパニックで落ちるが、気持ちを落ち着かせながら電源断。
  5. シングルユーザーモードでブート(⌘+Sを押しながら起動)し、準備してある復旧スクリプトを実行&再起動。スクリプトを使わずに手打ちでも当然おk

    /path/to/repair-script
    reboot

以上で、無事Macが立ち上がるようになり、Xcode 3も使えるようになる。あぼーんしてたらごめんなさい。

どうでもいいけど、Xcode 4って使いづらくないっすか。どーも1ウィンドウに全てを押しこむインタフェースは好きじゃない。

デバッガが使いにくくて死にそう。“3が付く”某ゲーム機のデバッガを彷彿とさせる使いにくさ。

BootCampのWindowsがCACHE_MANAGERで落ちる問題の対処方法

BootCampドライバをインストール後、WindowsがCACHE_MANAGERなんたらでブルースクリーンになるのは、HFSを読み込むためのドライバのせい。 ストレージにMacのソフトウェアRAIDパーティションがあると、この問題が発生する。

AppleHFS.sysAppleMNT.sysを適当にリネームしてもいいが、ソフトウェアRAIDパーティションのあるドライブをデバイスマネージャで無効化するのが、手っ取り早くておすすめ。ドライバ無効化と違い、当然他のHFSボリュームは活かせるしね。

↑では既に無効になっている状態。

ドライバ導入済みで、起動→ハング→再起動→ハングの無限ループに陥ってるなら、セーフモードで無効化すべし。

  • start.txt
  • 最終更新: 2022-07-27 15:26
  • by Decomo