[Solaris]トラブルシューティング

ブート時、timeoutが出る。
scsi: WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset target, target=1 lun=0
scsi: WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=1 lun=0
scsi: WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort device, target=1 lun=0


http://docs.oracle.com/cd/E19253-01/820-6035/ggmsj/
このページによると回避方法は以下だって。

回避方法 1: BIOS の AHCI を有効にします (システムで使用できる場合)。この設定を有効にするには、Solaris OS を再インストールする必要があります。

回避方法 2: ata ドライバを使用しないコントローラ上のディスクに Solaris をインストールします。

回避方法 3: シングルプロセッサが有効になるように、BIOS 設定の MP を無効にします。

回避方法 4: シングルプロセッサが有効になるように、Solaris の MP を無効にします。GRUB (Grand Unified Bootloader) メニューから次の手順を実行します。


UEFI画面でSATAモードをIDEからAHCIに変えて、再度Solarisインストールし直したら、起動時のメッセージは今の処出なくなった。



formatコマンドやるとhangする。
Cause

'format'ユーティリティは、新しい特徴を持っている。Solaris 10 6/06から始まったもの。'in use checking'と呼ばれるOS..

This feature is enabled by default.
Solution

Any time the 'format' utility is run on the disk, it performs many verification/checks on the disk itself (does it contain a slice that is mounted, is it part of SVM metadevice, is it being used by ZFS filesystem, is it being used by swap etc...)

So, if there are lots of devices, or if there were some kind of issue on the device itself (for example, differences on what the label says and what the actual device stated), 'format' command may appears hang as it does all sort of checking in the background.

So, to avoid this kind of situation, there is an environment variable 'NOINUSE_CHECK' which can be set / turned on, prior of running the 'format' command:

# NOINUSE_CHECK=1
# export NOINUSE_CHECK
# format

Once that is set, the 'format' command will proceed with no time by passing all of the verifications and checking.


vdev validation failed

/dev/dsk/c3t1d0s1 is part of exported or potentially active ZFS pool rpool. Please see zpool(1M).
Unable to build pool from specified devices: device already in use



対策

fdisk /dev/rdsk/c3t1d0 > delete partition > Exist
としてから、再度
zpool create tank raidz2 xxxx xxxx c3t1d0
としたらエラー無くRAIDZ2ストレージプールが構築出来た。


各種ログ

/var/adm/messages    : システムログ
/var/adm/sulog       : suコマンドログ
/var/adm/{utmpx,wtmpx} : どちらもバイナリログファイル。前者はwhoコマンド、後者は、lastコマンドで閲覧可能。
                    定期的に見て不可解なユーザがログインしていないか確認する事を推奨。
/var/log/syslog       : メールログなど
/var/log/xferlog       : ftpログ

スポンサーサイト

[Solaris]コマンド

OpenSolaris 11.3 x64

prtconf
メモリーの総量、システムのデバイス階層によって記述されたデバイス構成を含む、システム構成情報を表示


sysdef
システムハードウェア、疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含む、デバイス構成情報を表示

dmesg
最後のリブート以降にシステムに接続されたデバイスのリストと、システム診断情報を表示

iostat -En
ディスク情報を表示。
Model名、デバイス名も表示されて、どれがどれか区別出来る。

format


pkgadd
パッケージの追加


pkgrm
パッケージの削除


pkginfo
パッケージの表示


touch /reconfigure
デバイスをOSから認識させるために、/にreconfigureという空ファイルを作成してリブート。


shutdown -y -i6 -g実行までの秒数
shutdown -y -i6 -g0 : すぐに再起動
shutdown -y -i0 -g0 : すぐにシャットダウン


pkg install slim_install
pkg uninstall slim_install : 不要パッケージ削除
svcadm enable gdm : GUI有効化
shutdown -y -i6 -g0 : 再起動。これでGUI化出来た。uninstallしなくてもOK。

GUI化


inetadm | grep telnet
telnetサービス状態確認
inetadm -e telnet
telnetサービスenable
inetadm -d telnet
telnetサービスdisable
Solaris 11.3クリーンインストールから上記でenableしたら、telnet接続出来た。


inetadm -p
TCP Wrapper状態確認
inetadm -M tcp_wrappers=true
TCP Wrapper有効化


showrev -p
適用されてるパッチID確認 > これはSolaris 11で廃止されたらしい。
patchadd
パッチ適用


pkg install xxx
xxxパッケージのインストール
pkg search xxx
xxxパッケージの検索
https://docs.oracle.com/cd/E26924_01/html/E25785/gihfn.html


wgetコマンド導入
以下のサイトは新サイトが開設されていて、そこでwget探したら、有償メンバーのみになっている模様。

1.ブラウザで前記URLへアクセスする
http://www.sunfreeware.com/introduction.html
2.Webページ右側にある「SPARC/Solaris 10」というリンクをクリック
3.パッケージリストに切り替わるので、「wget-1.11.4」をクリックし、wget-1.11.4-sol10-sparc-local.gz をダウンロードする
4.ダウンロードしたファイルを展開
# gunzip -d wget-1.11.4-sol10-sparc-local.gz
 ファイルの展開後、「pkgadd -d」コマンドで、パッケージをインストールします。
# pkgadd -d wget-1.11.4-sol10-sparc-local




smartmontoolsインストール
以下からソースダウンロード。
 (本来はCLI環境でwgetみたいなコマンドで入手したいが、コマンド見つからず、GUI化してからブラウザでアクセスした。
https://sourceforge.net/projects/smartmontools/files/
tar zxvf smartmontools-6.5.tar.gz
cd smartmontools-6.5/
./configure

vi config.log

configure:3318: error: in `/export/home/bob/Downloads/smartmontools-6.5`:
configure:3320: error: C++ compiler cannot create executables


 ※ gccが無い事によるエラーらしい。
pkg install gcc
./configure
make
make install > これで/usr/local/sbin/smartctl が生成された。

実際に使ってみる。
format > デバイス名確認
/usr/local/sbin/smartctl -a /dev/rdsk/c1td0 > 東芝DT01ACA300

Start_Stop_Count 2
Reallocated_Sector_Ct 0
Power_On_Hours 1


Reallocated_Sectorは発生していない、使用時間も妥当、電源ON/OFF回数も妥当。
新品で買って念のため確認してみたが問題無し。


sambaインストール(Solaris SMBではない)
参照資料=SolarisOracleファイルサーバ構築手順書 - Samba/Solaris SMBの利用 - 2016年9月

sambaがインストールされているか確認。

# pkg info samba
pkg: info: no packages matching the following patterns you specified are
installed on the system. Try specifying -r to query remotely:

samba



インストールされてないので、インストール実施。
# pkg install samba

バージョン確認。

# pkg info samba
  :
Version: 3.6.25
  :



共有ディレクトリ作成
# mkdir /export/home/bob/samba

共有用ZFSストレージプール作成。
# zpool create data mirror c1t0d0 c1t1d0

ZFSストレージプール確認。

# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
data 2.72T 420K 2.72T 0% 1.00x ONLINE -
rpool 59G 12.8G 46.2G 21% 1.00x ONLINE -



ZFSボリューム作成。
# zfs create data/share
 > /data/share が作成された。

作成したZFSボリューム確認。

# zfs list -r data
NAME USED AVAIL REFER MOUNTPOINT
data 620K 2.68T 152K /data
data/share 144K 2.68T 144K /data/share



Sambaへのユーザ登録 (OS上の一般ユーザを登録)
# /usr/bin/pdbedit -a bob
Can't load /etc/samba/smb.conf - run testparm to debug it

エラー出たので、先にsmb.confを作成する。
まずはsambaサービスが停止してる事を確認。
# svcs samba

STATE STIME FMRI
disabled 6:24:05 svc:/network/samba:default


# cd /etc/samba/
# cp smb.conf-example smb.conf
# vi smb.conf

workgroup = HOGE
security = user
hosts allow = 192.168.xx. 127.0.
passdb backend = tdbsam
末尾に以下追加
[shares] ←クライアントに表示される共有名
comment = sharesdir ←クライアントに表示されるコメント
path = /share ←共有ディレクトリの絶対パス
available = Yes ←共有ディレクトリの有効/無効(ここでは有効)
guest ok = No ←guestユーザーでのアクセスの許可/拒否(ここでは拒否)
invalid users = hoge, @nggroup ←アクセスを拒否するユーザー、グループ
valid users = @okgroup ←アクセスを許可するユーザー、グループ
read only = no ←共有ディレクトリへの書き込みを可にする



構成ファイルのチェック
# /usr/bin/testparm

  :
Loaded services file OK. > ここがOKになっているのでOK。
  :



smb.confを作ったので、今度こそ以下を実行。
# /usr/bin/pdbedit -a bob

new password:
retype new password:


今度は実行出来て、パスワードを設定。

samba登録ユーザを確認。
# /usr/bin/pdbedit -L
hoge:100:hoge

尚、登録ユーザを削除する場合は以下。
# /usr/bin/pdbedit -x -u hoge
さらに、登録ユーザのパスワード変更する場合は以下。
# /usr/bin/smbpasswd hoge

sambaサービス起動。
# svcadm enable svc:/network/samba:default
サービス稼働状況確認。
# svcs samba
STATE STIME FMRI
online 16:09:16 svc:/network/samba:default

クライアント(Win)から
\\192.168.xxx.xxx\shares
でアクセスすると、ユーザ認証される。
それでもアクセス出来ない。
エラー詳細を見ると、「ネットワーク名を特定できません。」
試しに
\\192.168.xxx.xxx
とやるとアクセス出来て、sharesフォルダが見れるが/data/sharesにはアクセス出来ない。
しかし、/export/home/bob/samba はアクセス出来た。何が違う?

以下を参照してデバッグ。

日本Sambaユーザ会 Sambaが動作しないときの診断方法
http://www.samba.gr.jp/doc/diag.html

C:\Users\hoge>net view \\192.168.xxx.xxx
\\192.168.xxx.xxx の共有リソース

Samba Server

共有名 タイプ 使用 コメント
-------------------------------------------------------------------------------
hoge Disk Home Directories
share Disk sharedir

コマンドは正常に終了しました。


sambaサービスは動いているし、share共有名も見れる。
(ちなみに、sharesとshareが混在してたので、shareに統一してる。)

C:\Users\hoge>net use x: \\192.168.xxx.xxx\share
システム エラー 67 が発生しました。

ネットワーク名が見つかりません。



原因分かった。smb.confの[share]設定でpathが間違ってた。
# vi /etc/samba/smb.conf

[share]
誤: path = /share
正: path = /data/share
実際に存在するディレクトリに直したらアクセス出来た。




<参考コマンド>
共有ディレクトリに接続中のユー ザ一覧表示。
# smbstatus -b
Sambaサービス再起動。
# svcadm restart svc:/network/samba:default
Sambaサービス停止。
# svcadm disable svc:/network/samba:default


ipadm show-if
ネットワークインターフェース確認。

IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes --
net0 ip ok yes --



物理NIC確認

# dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 1000 full rge0


# dladm show-link
LINK CLASS MTU STATE OVER
net0 phys 1500 up --




ネットワークの再起動
# svcadm disable svc:/network/physical:default
# svcadm enable svc:/network/physical:default


route -p add default 192.168.1.xxx
デフォルトゲートウェイの設定


DNS設定
# vi /etc/resolv.conf
nameserver 8.8.8.8


ipadm create-addr -T static -a 192.168.1.3/24 net0/IPv4
固定ipアドレスの設定
 ※ これやったら、DHCPでのIPと新たに固定IPとして指定したIPと両方アクセス出来るようになった。なんで?


netadm enable -p ncp Automatic
DHCPに戻す。




Solaris SMBインストール(sambaではない)
インストールされているか確認。
# pkg list | grep smb

インストールされてなければ、以下2つ実行。今回は既にインストールされていたのでメッセージが以下。
# pkg install pkg://solaris/system/file-system/smb
No updates necessary for this image.
# pkg install pkg://solaris/service/file-system/smb
No updates necessary for this image.

サービスを有効化。-rを付加すると、依存するサービスも合わせてenableしてくれるって。
# svcadm enable -r svc:/network/smb/client:default

SMB共有の共有名が不明の場合は、以下で確認。実行後すぐにパスワード聞かれる。
# /usr/sbin/smbadm show-shares 192.168.10.xxx(sambaサーバのIP)
Enter password:

SMBパスワード保存(例:ユーザ名がbob)
# /usr/sbin/smbadm add-key -u bob@192.168.10.xxx

※ この作業は未完了です。


partedインストール
pkg install slim_install
をやるとインストールされた。


GPTラベルを付ける

# parted /dev/rdsk/c1t7d0 > これはI/O Errorになる
# parted /dev/rdsk/c1t7d0p0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
  :
(parted) print
print
Error: /dev/rdsk/c1t7d0p0: unrecognised disk label > まだレベルが無いって。
(parted) mklabel gpt
mklabel gpt
(parted) print
print
Model: Generic Ide (ide)
Disk /dev/rdsk/c1t7d0p0: 3001GB
Sector Size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File System Name Flags

(parted)quit


これでpartedを終了した後、parted -lで一覧表示すると、まだパーティションは空だが、gptラベルが付いた状態で見えた。



scanpci
PCIデバイス表示


lshal
HW(ハードウェア)情報表示


<SATA HDDデバイス名と使用コントローラの調べ方>

1.lshal > hoge
で保存。
viで開き、「rdsk.c.」で検索すると、HDDのデバイス名とdevfs_pathを確認出来る。


block.solaris.raw_device = '/dev/rdsk/c1t0d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@0,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t1d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@1,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t3d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@3,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t5d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@5,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t6d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@6,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t7d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@7,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t8d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@8,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c1t9d0' (string)
solaris.devfs_path = '/pci@0,0/pci8086,101@1/pci1b21,1060@0/disk@9,0:wd' (string)




block.solaris.raw_device = '/dev/rdsk/c2t0d0' (string)
solaris.devfs_path = '/pci@0,0/pci1043,844d@1f,2/disk@0,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c2t1d0' (string)
solaris.devfs_path = '/pci@0,0/pci1043,844d@1f,2/disk@1,0:wd' (string)

block.solaris.raw_device = '/dev/rdsk/c2t2d0s2' (string)
storage.drive_type = 'cdrom' (string)
solaris.devfs_path = '/pci@0,0/pci1043,844d@1f,2/cdrom@2,0:c' (string)

block.solaris.raw_device = '/dev/rdsk/c2t3d0' (string)
storage.drive_type = 'disk' (string)
solaris.devfs_path = '/pci@0,0/pci1043,844d@1f,2/disk@3,0:wd' (string)





2.scanpci > hoge2
で保存。
「SATA」で検索。さらに使ってるSATAカードが玄人志向「SATA3I10-PCIe」なので「ASMedia」でも検索。

pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x1b21 device 0x0625
ASMedia Technology Inc. Device unknown


HDD接続数が多い方が、ASMediaコントローラのPCIe to SATAカードなんだが、
このvendor名の「1b21」ってやつが、上のlshal結果の赤字のpci1b21の部分かな?

pci bus 0x0005 cardnum 0x00 function 0x00: vendor 0x1b21 device 0x1080
ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge



pci bus 0x0007 cardnum 0x00 function 0x00: vendor 0x11ab device 6121
Marvell Technology Group Ltd. 88SE6121 SATA II / PATA Controller




pci bus 0x0000 cardnum 0x1f function 0x02: vendor 0x8086 device 1c02
Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller


こちらのcardnumとfunctionの番号が、1f,2として、上の青字の「@1f,2」に該当すんのかな?




パーティション作成、フォーマット
 ※ 既にparted > mklabel gpt でラベルをGPTにしてる。

# parted /dev/rdsk/c1t0d0
GNU Parted 2.3.0
Using /dev/rdsk/c1t0d0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print > 現在のパーティション表示
(parted) rm > パーティション削除
rm
Partition number? 1
1
(parted) mkpart primary 0 3001GB
mkpart primary 0 3001GB
Warning: The resulting partition is not properly aligned for best performance.
ワーニング出たのでやり直し。

ここを参考。
https://www.xmisao.com/2013/09/27/parted-warning-the-resulting-partition-is-not-properly-aligned-for-best-performance.html

(parted) mkpart primary 2048s -1s
Warning: You requested a partition from 1049kB to 3001GB.
The closest location we can manage is 1049kB to 3001GB.
Is this still acceptable to you?
Yes/No? Yes

(parted) mkfs
mkfs
WARNING: you are attempting to use parted to operate on (mkfs) a file system.
parted's file system manipulatoin code is not as robust as what you'll find in
dedicated, file-system-specific package like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
xxxxxx
Yes/No?


# newfs /dev/rdsk/c0t1d0s1
/dev/rdsk/c0t1d0s1: I/O error
UFSファイルシステムにフォーマットするコマンド。なぜI/Oエラー?

[Solaris]ZFS

あけましておめでとうございます。

参照先

Solaris ZFS集中講座(1):Solaris ZFSの基本的な仕組みを知る (1/3)
http://www.atmarkit.co.jp/ait/articles/0903/13/news125.html

Solaris ZFS集中講座(2):Solaris ZFSの機能を点検する (1/3)
http://www.atmarkit.co.jp/ait/articles/0904/15/news121.html

Solaris ZFS集中講座(3):ZFSはどう活用できるか (1/3)
http://www.atmarkit.co.jp/ait/articles/0905/28/news108.html

ZFSでストレージ でも、ストレージだけじゃないZFS
http://www.slideshare.net/satorumiyazaki/hbstudy12-zfs

Oracle Solaris ZFS 管理ガイド
http://docs.oracle.com/cd/E19253-01/819-6260/gazgw/index.html


今さらながら ZFS 環境に SSD を足して L2ARC を使ってみる
http://w.vmeta.jp/tdiary/20140519.html




ZFSコマンド

状態確認
zfs-stats



状態確認
zpool status tank



iSCSIのVolume用に100GBytesを作成してサービスを開始するコマンド例
# zfs create -V 100g tank/iscsi-vol
# zfs set shareiscsi=on tank/iscsi-vol



ストレージプール作成 (RAIDZ + ZIL(log) + L2ARC(cache))
zpool create tank raidz c2t0d0 c2t1d0 c2t2d0 c2t3d0 log c2t4d0 cache c2t5d0



ストレージプール作成 (RAIDZ + ZILミラー(log))
zpool create tank raidz c2t0d0 c2t1d0 c2t2d0 c2t3d0 log mirror c2t4d0 c2t5d0



ストレージプール追加 (RAIDZ + ZIL(log))
zpool add tank raidz c2t0d0 c2t1d0 c2t2d0 c2t3d0 log c2t4d0
 ※ 既存構成と同じ場合に追加可能。




zfs-stats
状態確認スクリプト。
FreeBSDだとインストール方法は以下らしい。
#cd /usr/ports/sysutils/zfs-stats
#make install
Solarisの方法は調べ中。




故障時の交換、修復手順
https://docs.oracle.com/cd/E24845_01/html/819-6260/gbbvf.html

最初に行うことは、zpool status 出力のエラー数を調べる

zpool status -v tpool


一時的なエラーと判断した場合

このコマンドで、すべてのデバイスエラーと、デバイスに関連付けられたすべてのデータエラー数を消去。
zpool clear tank c1t1d0
プール内の仮想デバイスに関連付けられているすべてのエラーを消去し、プールに関連付けられているすべてのデータエラー数を消去するには、以下。
zpool clear tank



故障ディスクが置き換え可能か調べる

c1t1d0 ディスクは置き換えることができます。プール内のすべてのデータは正常な複製 c1t0d0 からコピーされます。
mirror DEGRADED
c1t0d0 ONLINE
c1t1d0 FAULTED



次の構成では、障害が発生したどのディスクも置き換えることができません。プール自体に障害が発生しているため、ONLINE 状態のディスクも置き換えることができません。
raidz FAULTED
c1t0d0 ONLINE
c2t0d0 FAULTED
c3t0d0 FAULTED
c4t0d0 ONLINE



ストレージプール内のデバイスを置き換える

損傷したデバイスを別のデバイスに置き換える場合は、次のような構文を使用します。
# zpool replace tank c1t1d0 c2t0d0





zpool create -n
-nをつけると、仮想的にコマンド実行して、問題あればエラーを表示してくれる。
正常に実行出来たら、生成されるストレージプール構成が表示される。
しかし、-nオプション無しで実際に実行しないと現れないエラーもあるらしい。








トラブルシューティング

zpool create tank raidz2 A B C でハングする
3TB HDD x 3本だからか? 反応が無く時間かかり過ぎ。500GBでcreateした時はすぐだったのだが。

zpool create tank raidz A B C
でも同様にフリーズ。
zpool create data mirror A B
だとフリーズせず、すぐに完了した。
これ単にRAIDZ/RAIDZ2のプール作成に数時間かかるって話かな?

2TB以上のディスクはGPTパーティションにしないと扱えないらしい。
現状のタイプを確認してみる。

# parted -l
  ※ これは、改行をなくして、各ディスク情報を1行にまとめたもの。

Model: Generic Ide (ide) Disk /dev/dsk/c1t0d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c1t1d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c1t2d0p0: 250GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 250GB 250GB zfs 9 250GB 250GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c1t3d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c1t4d0p0: 128GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 128GB 128GB zfs 9 128GB 128GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c1t5d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c1t6d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Error: /dev/dsk/c1t7d0p0: unrecognised disk label
Error: /dev/dsk/c1t8d0p0: unrecognised disk label
Error: /dev/dsk/c1t9d0p0: unrecognised disk label

Model: Generic Ide (ide) Disk /dev/dsk/c2t0d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c2t1d0p0: 3001GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 3001GB 3001GB zfs 9 3001GB 3001GB 8389kB

Model: Generic Ide (ide) Disk /dev/dsk/c2t2d0p0: 4311MB Sector size (logical/physical): 2048B/512B Partition Table: msdos Number Start End Size File system Flags 2 4399kB 30.6MB 26.2MB primary

Model: Generic Ide (ide) Disk /dev/dsk/c2t3d0p0: 64.0GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 131kB 269MB 268MB fat32 boot 2 269MB 64.0GB 63.7GB zfs 9 64.0GB 64.0GB 8389kB



赤字のHDD x2では、
zpool create tank mirror A B
ですんなり実行出来た。
parted -lの結果を見る限り、全く同じ構成になってる青字HDD x2でやるとフリーズ。
やはり動作は正常で、単に3TBx2本の領域をフォーマットか何かしてるって事かな?

次に、GPTラベルをまだ付けてないHDDに対して、parted /dev/rdsk/c1t7d0p0 > mklabel gptでラベルを付与。
Error: /dev/dsk/c1t7d0p0: unrecognised disk label
Error: /dev/dsk/c1t8d0p0: unrecognised disk label
Error: /dev/dsk/c1t9d0p0: unrecognised disk label
それから以下-nで試すと、正常にプール作成出来る、と言われた。

# zpool create -n tank mirror c1t7d0 c1t8d0
would create 'tank' with the following layout:

  tank
   mirror
    c1t7d0
    c1t8d0


なので、今度は-n無しで実際に作成してみると・・・応答無い・・・

# zpool create tank mirror c1t7d0 c1t8d0
・・・・ 応答がない ・・・


やってる事は正しいと思うので、何時間か待ってみよう。
おそらくCPU、メモリパワーが弱く、3TBにZFSファイルシステムを構築するのに時間かかってるだけだと思う・・・きっと。

もう9時間が経過した。。。やはりおかしい。
/var/adm/messages
なるログファイルを見てみる。

Jan 8 xxxxx h67 ahci: [ID 517647 kern.warning] WARNING: ahci1: watchdog port 10 satapkt 0xffffa100181c5418 timed out
Jan 8 xxxxx h67 ahci: [ID 262729 kern.warning] WARNING: ahci1: ahci_port_reset port 10 COMINIT signal from the device not received


しっかり変なワーニングが出てる。

これって、ここで指摘しているバグなのかな?
https://www.illumos.org/issues/3797

うちで使ってるHBAもちょうど指摘通り。
ASMedia社製 ASM1062+JMB575(x2)搭載 SATA3 x10 インターフェースカード(PCI-Express x2接続)
http://www.kuroutoshikou.com/product/interface/ata_sata/sata3i10-pcie/

そいや、接続してるSATA HDDの一部でmirrorやったらすんなり実行出来た。
あれはマザーボード直結のHDDだったから問題出なかったって事かな。


/dev/dsk/c2t3d0s0 contains a pcfs filesystem

# zpool create tank raidz2 c2t0d0 c2t1d0 c2t3d0
vdev verification failed: use -f to override the following errors:
/dev/dsk/c2t3d0s0 contains a pcfs filesystem.
/dev/dsk/c2t3d0s1 is part of active ZFS pool rpool. Please see zpool(1M).
Unable to build pool from specified devices: device already in use


3番目のc2t3d0は、OS用で既に使っているものだった。間違えた。

メモ

http://docs.oracle.com/cd/E19253-01/819-6260/gaypw/index.html
ルートプールに使用するディスクには VTOC (SMI) ラベルが必要。
また、ディスクスライスを使用してプールを作成する必要があり。

[Solaris]COMSTAR

host= h67、OpenSolaris 11.3 x86

http://d.hatena.ne.jp/tokuhy/20091222/1261487045


v11.3をクリーンインストール

ユーザでログイン

su

pfexec pkg install storage-server
pfexec pkg install SUNWiscsit

svcadm disable iscsitgt

svcadm: Pattern 'iscsitgt' doesn't match any instances



svcadm enable target

svcadm: Pattern 'target' matches multiple instances:
svc:/system/ibsrp/target:default
svc:/network/iscsi/target:default



svcadm enable stmf

[Solaris]Console login service cannot run

http://www.oracle.com/technetwork/jp/server-storage/solaris11/downloads/install-2245079-ja.html

Oracle Solaris 11.3 テキスト・インストーラ
x86 テキスト・インストーラ (736 MB)



これをDVDに焼いて、インストールやってみた。
すると以下で止まる。

Remounting root read/write
Probing for device nodes ...
Preparing text install image for use
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)
Console login service cannot run

Enter user name for system maintenance (control-d to bypass):



z77: 上記で止まる
z68: 上記で止まる
h67: インストール成功(キーボード選択に進める)
カレンダー
06 | 2018/07 | 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード