Nimble Storageにsshでログインしてみた

Nimble Storageにsshでログインしてみた。
ユーザは「admin」(標準で作成されている管理者ユーザ)。
パスワードは初期セットアップ時に指定したものを使う。

# ssh admin@IPアドレス
Password:
/ $ su
bash: su: command not found
/ $

一般ユーザっぽい雰囲気だったので、権限をかえられるのか?と「su」を実行してみたがコマンドがないらしい。

とりあえずディレクトリ構成確認。

/ $ ls -al
drwxr-xr-x   13 0        0            1024 Nov  8 04:24 .
drwxr-xr-x   13 0        0            1024 Nov  8 04:24 ..
drwxr-xr-x    2 0        0            1024 Nov  8 04:24 bin
drwxr-xr-x    3 0        0            1024 Nov  8 04:24 dev
drwxr-xr-x    2 0        0            1024 Nov  8 04:23 diags
drwxr-xr-x    5 0        0            1024 Nov  8 04:24 etc
drwxr-xr-x    3 0        0            4096 Jan  4 11:11 home
drwxr-xr-x    2 0        0            1024 Nov  8 04:24 lib64
drwxr-xr-x    2 0        0            1024 Nov  8 04:23 mnt
drwxr-xr-x    3 0        0            1024 Nov  8 04:19 nimble
drwxr-xr-x    2 0        0            1024 Nov  8 04:23 sbin
drwxr-xr-x    6 0        0            1024 Nov  8 04:23 usr
drwxr-xr-x    3 0        0            4096 Jan  4 11:08 var
/ $ df
bash: df: command not found
/ $ cat /proc/mounts
cat: can't open '/proc/mounts': No such file or directory
/ $

dfコマンドや/proc/mountsを使って、パーテーション構成を確認する、といったことはできないようだ。

設定ファイルはどんなものがあるのかな?と/etc配下を見てみる。

/ $ ls -al /etc
drwxr-xr-x    5 0        0            1024 Nov  8 04:24 .
drwxr-xr-x   13 0        0            1024 Nov  8 04:24 ..
drwxr-xr-x    2 0        0            1024 Nov  8 04:23 acpi
drwxr-xr-x    3 0        0            1024 Nov  8 04:23 diag
lrwxrwxrwx    1 0        0              14 Nov  8 04:24 group -> /var/etc/group
-rw-r--r--    1 0        0              48 Aug 16  2012 hosts
lrwxrwxrwx    1 0        0              18 Nov  8 04:24 localtime -> /var/etc/localtime
drwxr-xr-x    2 0        0            1024 Nov  8 04:23 nimpart
-rw-r--r--    1 0        0              56 Aug 16  2012 nsswitch.conf
lrwxrwxrwx    1 0        0              15 Nov  8 04:24 passwd -> /var/etc/passwd
-rw-r--r--    1 0        0             291 Aug 16  2012 profile
lrwxrwxrwx    1 0        0              20 Nov  8 04:24 resolv.conf -> /var/etc/resolv.conf
/ $ ls -l /var/etc
-rw-r--r--    1 0        0              14 Jan  4 11:08 group
-rw-r--r--    1 0        0             331 Jan 29 16:25 localtime
-rw-r--r--    1 0        0              44 Jan  4 11:08 passwd
-rw-rw-rw-    1 0        0              42 Jan 29 16:26 resolv.conf
/ $

/etcの中はreadonlyのようで、ユーザがカスタマイズするファイルについては/var/etc/に置かれる、という形を取っているようだ。

登録済みのユーザとグループはこんな感じ。

/ $ cat /etc/passwd
admin:x:1000:1000:CLI user:/home:/bin/clish
/ $ cat /etc/group
admin:x:1000:
/ $

adminユーザしか載ってない、というもの。

次に、実行できそうなコマンドは何があるのか確認してみる。

/ $ ls /bin
ash       dd        getopt    man       pwd       stat      vi
bash      echo      grep      mkdir     rm        stty      watch
cat       ed        hostname  mktemp    rmdir     sync      zcat
chmod     egrep     ln        more      sed       touch
cp        false     ls        mv        sh        true
cut       fgrep     lsattr    printenv  sleep     usleep
/ $ ls /sbin
arp      busybox
/ $ ls /usr/bin
[           du          id          readlink    tail        uptime
[[          env         install     realpath    tee         wc
awk         expand      length      reset       telnet      wget
basename    expr        less        resize      test        which
cksum       find        md5sum      script      tftp        whoami
clear       fold        mkfifo      seq         time        xargs
cmp         ftpget      nohup       sha1sum     tr          yes
comm        ftpput      nslookup    sort        traceroute
dc          hd          od          split       ttysize
diff        head        patch       strings     unexpand
dirname     hexdump     ping        sum         uniq
dos2unix    hostid      printf      tac         unix2dos
/ $ ls /usr/sbin
/ $

busyboxでいろいろ代用している模様。

/ $ busybox
BusyBox v1.13.0 (2013-11-07 11:23:31 PST) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as!

Currently defined functions:
        [, [[, arp, ash, awk, basename, cat, chmod, cksum, clear, cmp, comm,
        cp, dc, dd, diff, dirname, dos2unix, du, echo, ed, egrep, env, expand,
        expr, false, fgrep, find, fold, ftpget, ftpput, getopt, grep, hd,
        head, hexdump, hostid, hostname, id, install, length, ln, ls, lsattr,
        md5sum, mkdir, mkfifo, mktemp, more, mv, nohup, nslookup, od, patch,
        printenv, printf, pwd, readlink, realpath, reset, resize, rm, rmdir,
        script, sed, seq, sh, sha1sum, sleep, sort, split, stat, strings,
        stty, sum, sync, tac, tail, tee, telnet, test, tftp, time, touch,
        tr, true, ttysize, unexpand, uniq, unix2dos, uptime, usleep, watch,
        wc, wget, which, whoami, xargs, yes

/ $

Nimble独自の管理プログラム系はどこにあるのかな?と$PATHを確認してみると、/nimble/usr/binというディレクトリが・・・

/ $ echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/nimble/usr/bin
/ $ ls /nimble/usr/bin
?             failover      perfpolicy    snapcoll      version
alert         halt          prottmpl      software      vmwplugin
array         help          reboot        sshkey        vol
chapuser      initiatorgrp  route         stats         volcoll
ctrlr         ip            setup         subnet
date          nic           shelf         timezone
disk          partner       snap          useradmin
/ $

コマンド名を見る限りでは、Nimble StorageのWeb GUIで操作することができることが、CLIでも実装されている、というような感じに見受けられる・・・というか、おそらく、Web GUIのバックエンドでは、これらのCLIが実行されているだけ、という気がする。

とりあえず、「array」というコマンドを実行してみる。

/ $ array
ERROR: One of following options must be specified: --info, --edit, --resetup, --create_throttle, --delete_throttle, --edit_throttle, --autosupport_validate, --autosupport_initiate, --unset_http_proxy
INFO: Use --help option to view usage information.
/ $ array --info
Model: CS220G
Serial: AF-******
Version: 1.4.8.0-54807-opt
Array name: **************
Array IP address: xxx.xxx.xxx.xx1
Array IP netmask: 255.255.0.0
Discovery IP address: xxx.xxx.xxx.xx1
Discovery IP netmask: 255.255.0.0
Domain name: **************
DNS server(s): **************
NTP server: **************
Timezone: Asia/Tokyo
SMTP server: **************
SMTP port: 25
Minimum alert email severity level: WARNING
Alert email recipient address(es): *******@***********
Alert email from address: *******@***********
Copy alert email to Nimble Storage support: Yes
Send event data to Nimble Storage support: Yes
Allow Nimble Storage support to establish secure connection to array: No
HTTP proxy server:
HTTP proxy server port:
HTTP proxy server username:
HTTP proxy server password: (on file if set)
Default volume reserve (% of volume size): 0
Default volume quota (% of volume size): 100
Default volume warn level (% of volume size): 80
Default snapshot reserve (% of volume size): 0
Default snapshot quota (% of volume size): unlimited
Default snapshot warn level (% of volume size): 0
Total capacity (MB): 7740973
Volume usage (MB): 71797
Volume compression: 1.46X
Volume space saved (MB): 33001
Snapshot usage (MB): 2143
Snapshot compression: 1.59X
Snapshot space reduction: 324.41X
Snapshot space saved (MB): 693238
Unused reserve (MB): 0
Free space (MB): 7667032
Last login: admin @
Throttled replication bandwidth: unlimited
Replication throttles: N/A
iSNS enabled: No
iSNS hostname:
iSNS port: 3205
SNMP trap enabled: No
SNMP trap hostname: N/A
SNMP trap port: N/A
SNMP get enabled: No
SNMP community: N/A
SNMP get port: N/A
SNMP system location: N/A
SNMP system contact: N/A
Array time: Thu Jan ** **:**:** 2014

/ $

Web GUI上では「Manage」→「Array」に相当する操作になるようだ。

「ctrlr」コマンドは何なのか?

/ $  ctrlr --info
ERROR: required parameter is missing in 'info'
INFO: Use --help option to view usage information.
/ $  ctrlr --list
----+----------+--------------------+----------------+--------+-------+--------
Name State      Hostname             Support IP       Power    Fans    Temper-
                                                      Supplies Status  -ature
                                                      Status           Status
----+----------+--------------------+----------------+--------+-------+--------
A    active                          xxx.xxx.xxx.xx3    OK       OK      OK
B    standby                         xxx.xxx.xxx.xx4    OK       OK      OK
/ $  ctrlr --info A
Name: A
Serial number: AF-xxxxxx-C1
State: active
Hostname:
Support IP address: xxx.xxx.xxx.xx3
Support IP netmask: 255.255.0.0
Support IP nic: eth1
Hostname:
Power supply: OK
        power-supply1 at left rear: ok
        power-supply2 at right rear: ok
Cooling fans: OK
        fan1 at lower front of controller A: ok, speed: 11730rpm
        fan2 at lower left rear of controller A: ok, speed: 10608rpm
        fan3 at lower right rear of controller A: ok, speed: 10608rpm
        fan4 at upper right front of controller A: ok, speed: 10410rpm
        fan5 at upper left front of controller A: ok, speed: 10245rpm
        fan6 at upper left rear of controller A: ok, speed: 10560rpm
Temperature sensors: OK
        motherboard at motherboard: ok, temperature: 28C
        bp-temp1 at left-side backplane: ok, temperature: 37C
System partition status: OK
Last AutoSupport contact: Jan 30 2014 00:50:39
/ $  ctrlr --info B
Name: B
Serial number: AF-xxxxxx-C2
State: standby
Hostname:
Support IP address: xxx.xxx.xxx.xx4
Support IP netmask: 255.255.0.0
Support IP nic: eth1
Hostname:
Power supply: OK
        power-supply1 at left rear: ok
        power-supply2 at right rear: ok
Cooling fans: OK
        fan1 at lower front of controller B: ok, speed: 10608rpm
        fan2 at lower left rear of controller B: ok, speed: 10608rpm
        fan3 at lower right rear of controller B: ok, speed: 10608rpm
        fan4 at upper right front of controller B: ok, speed: 10410rpm
        fan5 at upper left front of controller B: ok, speed: 10275rpm
        fan6 at upper left rear of controller B: ok, speed: 10365rpm
Temperature sensors: OK
        motherboard at motherboard: ok, temperature: 28C
        bp-temp2 at right-side backplane: ok, temperature: 38C
System partition status: OK
Last AutoSupport contact: N/A
/ $

各コントローラ(マザーボード)の状態を取得するコマンドであったようだ。

システム停止するための操作は、Web GUI上だと「Administrator」→「shutdown」だったので、shutdownコマンドを探したんですが、rebootしかないなー、と思ってしまったのですが、こちらは「halt」コマンドでした。

/ $ halt
ERROR: One of following options must be specified: --array, --controller
INFO: Use --help option to view usage information.
/ $ halt --array
The array is shutting down and the head shelf will power off. You will not be able to use the user interface.
Once the array head shelf is powered down, it is safe to manually turn off any expansion shelves attached to this array.
To re-establish the user interface, you must first power any expansion shelves back on, power the array back on and log in again.
INFO: Initiated array shutdown.
/ $

「halt –array」にてシステム停止ができました。
いまのところ、Nimble Storage側に、UPS連携の仕組みが用意されていないですが、sshでログインして「halt –array」コマンドを実行することで停止ができるので、そういうUPSを用意すれば問題がないですね。

UPSソリューションズのAdvanced NWボード対応のUPSシリーズ(UPSS-SP,UPSS-HP,UPSS-HS)とかが使えるでしょうね。(Nimble StorageはSSH v2対応で、SSH v1のみ対応のSNMP/Webボードは使えません)

まぁ、コマンドを全部紹介していってもきりがないので、これくらいで・・・

各コマンドの詳細については、「man コマンド名」でちゃんと表示されます。
しっかりとCLI管理の場合も考えられている良い作りになっています。

・・・どこぞのWeb GUIがほぼ全てのTintri VMstoreとは全然違う・・・と感じましたね。

Spreadtrum社からタブレット向けSC5735とスマホ向けSC7715登場!

Spreadtrum社は、どうやら、本気でMediatek社に対抗していく気のようで、2014年も早速新製品を投入してきました。

2014/01/22:Spreadtrum Enters the Tablet Market
WCDMA通信対応タブレット向け4コアCPU SC5735

2014/01/28:Spreadtrum Launches Next Generation Single-core Smartphone Platform
WCDMA通信対応低価格スマホ向け1コアCPU SC7715

タブレット向けSC5735は、スマホ向けSC7735Sのタブレット用カスタマイズモデル、という位置づけ。
ARM Cortex-A7 4コア 1.2GHzで、GPUはARM Mali400 MP2というもの。
まぁ、順当な進出といったところ。

スマホ向けSC7715は、従来モデルのSC7710の置き換えで、従来はCortex-A5ベースだったものをCortex-A7ベースにした、というもの。
TD-CDMA向けSC8815, GSM(EDGE)向けSC6815というモデルも出る予定とか(プレスリリース記載)。
1コア向けで更新をかけてくるとは思わなかったので、ちょっと予想外です。
Cortex-A5コアを使っているとマイナスが大きい、と判断した、ってことなんでしょうね。

とりあえず、CPUコアと各モデル差がわかりにくかったので表にしてみた。

コア数 GPU WCDMAモデル TD-SCDMAモデル GSM (EDGE) モデル WCDMA / TD-SCDMA 両対応
Cortex-A5コア 1 Mali400 SC7710 SC8810 SC6820 なし
2 Mali400 MP2 なし SC8825 SC6825 なし
Cortex-A7コア 1 Mali400 SC7715 SC8815 SC6815 なし
4 Mali400 MP2 SC7730A SC8830A なし なし
4 Mali400 MP4 SC7735S SC8835S なし SC8735S

dx.comでmicroUSB機器のQiアダプタが大量入荷

microUSBコネクタで充電する機器をQi充電可能にする、汎用的なQiアダプタがdx.comで取扱始めたのは知ってたのですが、確認してみると、思いの外種類が出ている模様。

とりあえず、メモ書きとしてリストアップ。
なお、ここに上げたもの以外に、Samsung端末専用のやつとか、Qi充電台とかもdx.comでは取り扱っています。
Cell Phones & Accessories » Cables & Chargers」を見てくと、いろいろ出てくるので探してみるのも面白いでしょうね。

Itian Wireless Charging Receiver for Micro USB Mobile Phone – White
sku_273319_1
5.0V 600mA, $12.43

Universal Wireless Charger Receiver Module w/ Micro USB
sku_252209_1
5.0V 500mA, $12.41

65M-B Universal Qi Wireless Charger Receiver Module w/ Micro USB – Black
sku_280408_1
5.0V 650mA, $10.54

A3-1 Universal Qi Micro USB Wireless Charger Receiver – Green + Yellow
sku_284228_1
5.0V 500mA, $9.62

ZY-408 Wireless Charging Receiver for Mobile Phone Micro USB – Black
sku_259151_1
5.0V 650mA, $12.47

Internal Universal Wireless Charger Charging Receiver Module w/ Micro USB Port – Black
sku_242486_1
5.0V 500mA, $11.21

Micro USB Qi Wireless Charging Back Clip – Black
sku_253066_3
5.0V 1000mA, $19.55

JSQ-006 Qi Micro USB Interface Wireless Charging Receiver for Samsung / MIUI / HTC – White
sku_256218_4
5.0V 500mA, $11.41

JSQ-007 Qi Micro USB Interface Wireless Charging Receiver for Samsung / MIUI / HTC – Green + White
sku_256202_4
5.0V 500mA, $11.41

JSQ-005 Qi Micro USB Interface Wireless Charging Receiver for Samsung / MIUI / HTC – Orange + White
sku_256204_4
5.0V 500mA, $11.41

Universal 500mA Micro USB Powered Wireless Charger Receiver w/ Keychain for Samsung + More – Black
sku_253995_3
5.0V 500mA, $13.84

RHEL6でUpdateのバージョンを固定するには?

2022/09/02追記: AlmaLinux / Rocky Linuxのリリースバージョン固定方法Oracle Linux 8でリリースバージョン固定する方法

RedHat Enterprise Linux (RHEL) version6にて、Updateバージョンを固定する方法として「/etc/yum/vars/releasever」に値を指定する、もしくは、yumコマンド実行時に「–releasever=値」オプションを付加して実行する、というものがある。

が・・・
うちの環境で、これらを指定しても、常に最新のUpdate5まで上がってしまうという現象が発生していた。

原因
RHEL6環境でのreleaseverオプションは、subscription-manager(Red Hat Subscription Management)経由でサブスクリプションを登録した時のみ有効となる。

rhn_register(RHN Classic)で登録した場合は、使用できない。

RHN Classicで登録してしまっている場合は、Subscription Managementに切り替える必要がある。

RHN Classic と Red Hat Subscription Management の違いは何ですか?」に移行方法や各コマンドの対応表が掲載されていますが、releaseverオプションの制約事項について、Googleの見える範囲で公開されているような感じは無い模様・・・
隠し仕様すぎじゃないですかねぇ^^;;


この件について、根拠を聞かれた・・・

`yum –releasever` オプションの利用方法」(英語版:「How to use `yum –releasever` option」)

上記にて言及されているようですよ


おまけ
subscription-managerの使用方法

1. proxyを使う場合は設定

# subscription-manager config --server.proxy_hostname=IPアドレス --server.proxy_port=ポート番号
#

設定値の確認は以下で行う

#

2. システムをアカウントに登録

# subscription-manager register
ユーザー名: ユーザ名
パスワード: パスワード
システムは id で登録されています: <ID>
#

3. 登録状態を確認

# subscription-manager list
+-------------------------------------------+
インストールしている製品の状態
+-------------------------------------------+
製品名:                 Red Hat Enterprise Linux Server
製品 ID:                69
バージョン:                     6.5
アーキテクチャ:                         x86_64
状態:                   サブスクライブしていません
開始日:
終了日:
#

4. 利用できるサブスクリプション一覧を表示

#subscription-manager list --available
+-------------------------------------------+
    利用可能なサブスクリプション
+-------------------------------------------+
サブスクリプション名:           Red Hat Enterprise Linux Server, Premium (1-2 sockets)
                        (Up to 4 guests)
SKU:                    RH0<ID>
プール Id:                      <ID>
数量:                   7
サービスレベル:         PREMIUM
サービスタイプ:                 L1-L3
複数エンタイトルメント:         No
終了日:                         2015年02月02日
システムのタイプ:               物理

サブスクリプション名:           Red Hat Enterprise Linux Server, Premium (1-2 sockets)
                        (Unlimited guests)
SKU:                    RH0<ID>
プール Id:                      <ID>
数量:                   1
サービスレベル:         PREMIUM
サービスタイプ:                 L1-L3
複数エンタイトルメント:         No
終了日:                         2015年02月02日
システムのタイプ:               物理

サブスクリプション名:           Red Hat Enterprise Linux Server, Premium (1-2 sockets)
                        (Up to 1 guest)
SKU:                    RH0<ID>
プール Id:                      <ID>
数量:                   4
サービスレベル:         PREMIUM
サービスタイプ:                 L1-L3
複数エンタイトルメント:         No
終了日:                         2015年02月02日
システムのタイプ:               物理
#

5. サブスクリプションの割り当て実施
上記の一覧から使用したいものを選び、その「プールId」を指定してattachを実行します。

# subscription-manager attach --pool <ID>
サブスクリプションが正しく割り当てられました: Red Hat Enterprise Linux Server, Premium (1-2 sockets) (Up to 1 guest)
#

6. 登録されたことを確認
「状態: サブスクライブ済み」となっていることを確認

# subscription-manager list
+-------------------------------------------+
インストールしている製品の状態
+-------------------------------------------+
製品名:                 Red Hat Enterprise Linux Server
製品 ID:                69
バージョン:                     6.5
アーキテクチャ:                         x86_64
状態:                   サブスクライブ済み
開始日:                 2014年02月02日
終了日:                         2015年02月02日
#

7. 完了

日本語版KoboデスクトップアプリがWindows上での電子書籍読みに対応!

以前より、設定ファイルを変更すると、Kobo Desktopアプリ上で日本の電子書籍を読むことができました。
(詳しくは「日本語版Koboデスクトップアプリでも電子書籍読ませろ!(2012/07/30)」を参照)

ついに、Kobo デスクトップアプリ 3.5.2にてそのままの状態で日本の電子書籍を読むことができるようになりました!
Koboデスクトップアプリのダウンロードページにも「NEW パソコンで今すぐに読書を楽しむ」と記載されているので正式対応です!!

いままで表示出来なかったマンガや画像ベースで収録されている書籍もきちんと中身が読めるようになりました!!

以前のバージョンでの表示例
kobo3

今回のバージョンでの表示例
book

・・・・・某Amazon Kindleの方も追従してくるのかなぁ・・・