ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × FreeBSD PortsにFlavorsなる仕組みが出来てた graphics/pecl-imagickをインストールしようとFreshPortsでportの情報見てたら、“Package flavors”なる項目があるのに気付いた。 ハンドブックによれば、Flavorsとは1つのportに複数のバリエーションを持たせる方法とのこと。多くの機能といくらかのパッケージ依存関係を持つノーマルバージョンと、最低限の機能と依存関係しかない軽量バージョンの2つのFlavorをportに持たせるとか、GUIツールキット毎にFlavorを分けるとか、そういう使い方を想定しているようだ。 2017-11-30にリリースされた仕組みで、どうやらPythonモジュール関連portsの整理かなんかで導入された雰囲気(一次情報を追ったわけではないので当てずっぽう。同日にpy36-*のportsは全てFlavor化されpy-*に統合されている)。 件のpecl-imagickについて言えば、php71/php72/php73とPHPのバージョンごとにFlavorが用意されている(2019-08-15現在)。Flavorの有無はそれぞれのportのディレクトリでmake pretty-flavors-package-namesとすると確認できる。 $ cd /usr/ports/graphics/pecl-imagick $ make pretty-flavors-package-names php73: php73-pecl-imagick-3.4.4 php71: php71-pecl-imagick-3.4.4 php72: php72-pecl-imagick-3.4.4 Flavorの指定はmakeでFLAVOR変数に渡せばおk。 # make FLAVOR=php73 これはなかなか便利ですな。 以前は、lang/php71を使いたいのにPECL拡張モジュールのportはPHP 5.6向けになってて、PHP 7.1用には自前でpeclコマンド叩いて入れなきゃならないって事があったけど、Flavor使えばports/packagesにおんぶにだっこできて楽チン。 あ、書いてて思い出したけど、Flavor付きのportはFlavorごとにpackageが分かれる点は留意の必要あり。上のコマンド例で分かる通り、php73フレーバーでpecl-imagickをインストールした場合、パッケージ名はphp73-pecl-imagickとなる。 FreeBSDのMariaDBでリモートクライアントからの接続を許可する A5:SQL Mk-2を使って、実家からVPN経由で自宅鯖のMariaDBにアクセスしようとしたら「Access denied for user'xxxx'」と言われて繋がらなかった。デフォルトでは自ホストのクライアントからの接続しか許可してないらしいので、リモートクライアントからの接続を許可してみたメモ。丁寧なhttps://mariadb.com/kb/en/library/training-tutorials/basic-mariadb-articles/configuring-mariadb-for-remote-client-access/公式ドキュメントが用意されてるので、その通りに進めていくだけですけどね。 my.cnfの設定 'my.cnfの[mysqld]''セクションに以下の2行を追加する。 [mysqld] skip-networking=0 skip-bind-address リモート接続権限の付与 ユーザーにリモート接続の権限を付加する。許可するホストとパスワードを追加してるっぽいので、接続元ごとにパスワードを変えられるっぽい? GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'new-password' WITH GRANT OPTION; こんな感じで追加されてればおk。 > SELECT user,host FROM mysql.user; +--------------+-----------+ | user | host | +--------------+-----------+ | root | 127.0.0.1 | | root | 172.16.% | ←これ FreeBSDのZFS実装がZFS on Linuxベースに変更されるらしい 2021-01-28現在、ZFS on LinuxはOpenZFSと名前を変え2.0.1がリリース済みである。 FreeBSDの移行作業も着々と進んでおり、13-RELEASEでは新生OpenZFSベースとなるのがほぼ確実といったところ。 昨年末の話題ではあるけど、将来的にFreeBSDのZFSシステムがZFS on Linuxベースに変更されるらしい。メーリングリストを読む限り、Delphix社がZFS開発の軸をZFS on Linux(以下ZoLと表記)に移したことが発端となっているようだ。 これまで、OpenZFSの盟主たるDelphix社1)は、illumosからフォークした自社のDelphix OS用にZFSを改良し、それがOpenZFSに取り込まれてきた。現在のFreeBSDのZFS実装はillumosのコードがベースとなっており、FreeBSD用に多数のifdefを加えたものだそうだ。illumosという共通の祖先を持っていたからこそ、Delphixの改良がFreeBSDに取り込めてきたというわけだ。 ところが、前述の通りDelphixがZoLに移行したことで、illumosベースのZFS実装の改修が止まってしまった。現状、ZoLで行われた修正のillumosへのバックポートは全く行われていないそうである。ZoLの主要開発者であるBrian Behlendorfが、ZoLへのFreeBSD直接サポートの追加を薦めてくれたこともあり、ひとまずZoLをベースとしたZFS on FreeBSDプロジェクト、通称ZoFが立ち上がったという経緯のようだ。将来的にはZoLとZoFで1つのコードベースを共有するかもしれないとのこと。 ZoFの実装とテストはiX Systemsが主体となって行われており、既に殆ど問題なく動いているようだ。illumosの実装─界隈ではLegacy ZFSと呼ばれている─と比較してパフォーマンスも向上している模様。2019年3月1日にsysutils/zolとしてportsツリーに取り込まれ、2019年6月10日にはsysutils/openzfsへと名称変更されている。12.0-RELEASEのportsツリーにも取り込まれていることから、完成度の高さが伺える。FreeBSD 13の前にはillumosベースのZFSソースコードは削除されるだろうとのこと。 参考サイト The future of ZFS in FreeBSD ZFS - FreeBSD moving to ZFS-on-Linux | The FreeBSD Forums FreeBSD moving to ZFS-on-Linux | iXsystems Community CFT for FreeBSD + ZoL FreeBSD ZFS vs. ZoL Performance, Ubuntu ZFS On Linux Reference - Phoronix 1) 自分が勝手にそう思ってるだけ WD 8TB HDDガチャで大勝利 WDの外付けハードディスクElements Desktopシリーズの8TBモデル(型番:WDBBKG0080HBK-JESN)の中身に、エンプラ向けのWD Goldの廉価版が入ってる事があるらしい聞いて購入したみたところ、見事に大当たりのHe10なWD80EMAZ-00WJTA0だった。やったね! ハズレの方は非ヘリウムでWD80EMAZ-00M9AA0とのこと。まぁ、ハズレと言ってもこちらもUltrastarの流れを組む製品で、ただの8TB HDDとして見ても安い部類なので十分当たりと言えるんだけども。 WD80EMAZ-00WJTA0 WD80EMAZ-00M9AA0 製品ライン Ultrastar DC HC510? Ultrastar DC HC320? ヘリウム 〇 × 非ヘリウムのWD80EMAZ-00M9AA0の方が静かで低発熱という話もあり、一概に当たりハズレとは言えないかも。自分的にはHUH728080ALE604で既にヘリウム体験済みなので、WD80EMAZ-00WJTA0にそれほど強いこだわりはなかったりする。 電源として3.3Vが来てるとHDDが起動しないらしく、うちのSuperChassis 743TQ-1200B-SQのHDDベイで使えるか心配だったけど、余裕のよっちゃんで使えた。すなわち、SUPERMICROのバックプレーンCSE-SAS-743TQでは使えると考えて良さそう。 smartmontoolsでのS.M.A.R.T.は↓な感じ。なお、室温26℃、ディスクにフルアクセスしてる最中に取得したものである。 smartctl 7.0 2018-12-30 r4883 [FreeBSD 12.0-RELEASE-p4 amd64] (local build) Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: WDC HGST Ultrastar He10 Device Model: WDC WD80EMAZ-00WJTA0 Serial Number: 7HKJKU1N LU WWN Device Id: 5 000cca 257f1cf4c Firmware Version: 83.H0A83 User Capacity: 8,001,563,222,016 bytes [8.00 TB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Form Factor: 3.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Mon Jul 22 00:29:58 2019 JST SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x80) Offline data collection activity was never started. Auto Offline Data Collection: Enabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 93) seconds. Offline data collection capabilities: (0x5b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. No Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: (1215) minutes. SCT capabilities: (0x003d) SCT Status supported. SCT Error Recovery Control supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0 2 Throughput_Performance 0x0004 129 129 054 Old_age Offline - 112 3 Spin_Up_Time 0x0007 151 151 024 Pre-fail Always - 435 (Average 436) 4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 165 5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0 7 Seek_Error_Rate 0x000a 100 100 067 Old_age Always - 0 8 Seek_Time_Performance 0x0004 128 128 020 Old_age Offline - 18 9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 141 10 Spin_Retry_Count 0x0012 100 100 060 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 165 22 Helium_Level 0x0023 100 100 025 Pre-fail Always - 100 192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 165 193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 165 194 Temperature_Celsius 0x0002 154 154 000 Old_age Always - 43 (Min/Max 25/53) 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0 197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0 SMART Error Log Version: 1 No Errors Logged SMART Self-test log structure revision number 1 No self-tests have been logged. [To run self-tests, use: smartctl -t] SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay. 参考サイト [PC]WDの外付け8TBが実にゴールデンだぜ!という話 « 変人窟(HJK) HDDおみくじガチャは悪い文明か? - WD HDD 外付けハードディスク 8TB Elements Desktop USB3.0 WDBBKG0080HBK-JESN/2年保証のレビュー | ジグソー | レビューメディア WD80EMAZ in Supermicro backplanes? : DataHoarder FreeBSDのZFSでミラープールにUSB接続のHDDを追加する FreeBSD 12.0-RELEASEのZFSのミラープールにUSB接続のHDDをアタッチしてみた。USB接続だろうと何だろうと、いつもの手順でzpool attachすれば行けるはずだけど、実のところ今までやったことが無かった。/usr/homeを置いてるHDDが手狭になってきたため、交換ついでに試してみた記録。 まずは対象のミラープール(zhome)の確認。 $ zpool status zhome pool: zhome state: ONLINE status: Some supported features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: resilvered 0 in 0 days 00:12:00 with 0 errors on Thu Nov 22 00:25:49 2018 config: NAME STATE READ WRITE CKSUM zhome ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada7p1 ONLINE 0 0 0 ada8p1 ONLINE 0 0 0 logs mirror-1 ONLINE 0 0 0 ada5p4 ONLINE 0 0 0 ada6p4 ONLINE 0 0 0 cache ada5p8 ONLINE 0 0 0 ada7p1とada8p1でミラー構成になっていることが分かる。 お次にcamcontrolで対象のHDDを確認。 # camcontrol devlist <TOSHIBA MQ03ABB300 JP050U> at scbus9 target 0 lun 0 (ada7,pass8) <WD Elements 25A3 1021> at scbus13 target 0 lun 0 (pass11,da0) <WD Elements 25A3 1021> at scbus14 target 0 lun 0 (pass12,da1) 必要なHDDのみ抜粋したため番号が飛んでいるが、ada7がプールを構成する2.5インチHDDの1つで、da0/da1がプールに追加するUSB接続の8TB HDDである。 da0/da1にパーティションを作る。自分はディスク全体ではなくパーティションでZFSを構成する派なのである。 8TBのHDDを用意したので、gpartでてきとーにda0のパーティションを切り、da1にそのままコピーする。 # gpart create -s gpt da0 # gpart add > gpart add -a 4k -t freebsd-zfs -s 15620000000 da0 da0p1 added $ gpart show da0 => 40 15627986864 da0 GPT (7.3T) 40 15620000000 1 freebsd-zfs (7.3T) 15620000040 7986864 - free - (3.8G) # gpart backup da0 | gpart restore da1 $ gpart show da1 => 40 15627986864 da1 GPT (7.3T) 40 15620000000 1 freebsd-zfs (7.3T) 15620000040 7986864 - free - (3.8G) そして、いつも通りzpool attachする。コマンドが返ってくるまで結構時間が掛かって不安になるけど、強い心で待つ。 # zpool attach zhome ada7p1 da0p1 # zpool attach zhome ada7p1 da1p1 あとはプールのresilveringが終わるのを待つだけ、何だけれども、今回初めての現象に遭遇した。 デバイスをアタッチ後、zpool iostatで読み書きの状況を見ていたら、どういうわけか2MB/s程度の速度しか出ていない。 capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- zhome 2.26T 474G 637 0 2.49M 0 mirror 2.26T 474G 637 0 2.49M 0 ada7p1 - - 288 0 1.31M 0 ada8p1 - - 273 0 1.19M 0 da0p1 - - 0 0 0 0 da1p1 - - 0 0 0 0 logs - - - - - - mirror 388K 1.98G 0 0 0 0 ada5p4 - - 0 0 0 0 ada6p4 - - 0 0 0 0 cache - - - - - - ada5p8 10.6G 139G 0 0 0 0 ---------- ----- ----- ----- ----- ----- ----- ミラーの片割れを物理的に取り外し、新しいHDDを取り付けてzpool replaceするいつもの方法、すなわちワザとプールをデグレさせて新しいHDDでミラーを復旧させる良い子のみんなは真似しちゃダメな方法だと直ぐにresilveringが走っていたのだけど…。 暫く観察してたところ、どうやらresilveringの前にプールの全走査?をしているっぽい? $ zpool status zhome pool: zhome state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Sun Jul 14 08:38:19 2019 355G scanned at 1.08G/s, 1.25M issued at 3.89K/s, 2.26T total ★←ここ 0 resilvered, 0.00% done, no estimated completion time config: NAME STATE READ WRITE CKSUM zhome ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada7p1 ONLINE 0 0 0 (略) 上記ログを見て分かる通り、1.08G/sという2.5インチHDDにはありえない速さでスキャンが行われており、実際の読み込み速度と合わせて考えると何らかのメタデータを読んでる? とりあえず「355G scanned at 1.08G/s」の部分がプールの容量に達した後、データの同期が開始されるようだ。一度始まってしまえば順当に100MB/s超の速度が出るのでしばらく待つ。 $ zpool status zhome pool: zhome state: ONLINE scan: resilvered 4.51T in 0 days 07:07:33 with 0 errors on Sun Jul 14 15:45:52 2019 config: NAME STATE READ WRITE CKSUM zhome ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada7p1 ONLINE 0 0 0 ada8p1 ONLINE 0 0 0 da0p1 ONLINE 0 0 0 da1p1 ONLINE 0 0 0 logs mirror-1 ONLINE 0 0 0 ada5p4 ONLINE 0 0 0 ada6p4 ONLINE 0 0 0 cache ada5p8 ONLINE 0 0 0 errors: No known data errors 終わってみれば94MB/s程度でresilveringが行われた事になるので、いつも通りの速度だったと言える。 というわけで、SATAとUSBのHDDを混在させても問題なくZFSミラー構成が取れるという事が分かった。まぁ、当然ですけど。 < Newer Posts 1 2 ... 17 18 19 20 21 22 23 ... 83 84 Older Posts > start.txt 最終更新: 2022-07-27 15:26by Decomo