FC2ブログ

[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エラー?

スポンサーサイト



コメントの投稿

非公開コメント

カレンダー
01 | 2020/02 | 03
- - - - - - 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
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

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

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

この人とブロともになる

QRコード
QRコード