はてなキーワード: ディップスイッチとは
ディップスイッチで光るの止められるのでは
仮想システムを構築するにあたり、CIFS しか使えない NAS をバックアップ用に選定してきた SI 屋さんが居たので、CIFS と iSCSI のどちらが早いのか、試してみました。
テストに使う NAS は QNAP の Turbo NAS TS110
http://www.tekwind.co.jp/products/entry_6719.php
です。もう6年以上愛用して、カビが生えてもおかしく無い程に古いし, Marvell 800Mhz という低スペックな Qnap NASです。 100Mbps 時代のモノです。
昨年、HDDがお亡くなりになったので、3Tb の HDD に交換しました。ファームウェアはこんなに古い機械でも、QNAP シリーズの最新バージョンが利用できます。
iSCSI は、今あまり見なくなりましたが SCSI ケーブル規格や、SASケーブル接続のハードディスクを、一般的なIPネットワークで規格で仮想化したものです。
マウントするホストシステム側は iSCSI initiator, ディスクストレージの機能を提供する側を iSCSI Target と呼びます。
ホストから「マウントするしない」はイニシエータ側のソフトウェア的な操作で行います。これは便利な機能で、ディスクの故障などで、一時的に物理的に取り外さなければいけない場合でも、ホストからの操作だけで実際のケーブル結線の脱着を行う必要がないので、今時での SAS の外付けディスクドライブの様に、ホストもシャットダウンして電源を切り、結線を外して修理、交換する、という必要がないので、ディスクデバイスの修理をホストの電源を止めないで実施できると言う、実に便利な事ができます。
という事で、仮想環境では実に使いやすいストレージデバイスなのです。
マウントするホスト側から見ると単純に SCSI/SAS のハードディスクに過ぎません。iSCSI のストレージをマウントしてからは、通常の増設ディスクの様にフォーマットして、ホスト側で使う一般的な XFS, ext4, NTFS などのフォーマットでフォーマットする必要があります。
Linux の iSCSI ターゲット側からは、内部にターゲットとして使う「巨大なファイル」が、どん! とあるだけです。この巨大ファイルを、イニシエータ側に仮想ディスクイメージとして提供しています。当然シンプルな仮想イメージなので、ファイルそのものをバックアップコピーすれば、ストレージのイメージそのもののバックアップができます。
※ qnap NAS の場合、iSCSI イメージは、 /share/HDx_DATA/.@iscsi.img の下にドンと作られるようです。
[Solved]How to mount iSCSI file?
https://forum.qnap.com/viewtopic.php?f=180&t=25322
[/share/HDA_DATA/.@iscsi.img] # pwd
[/share/HDA_DATA/.@iscsi.img] #
[/share/HDA_DATA/.@iscsi.img] # ls -l
-rw------- 1 admin administ 6442450944 Nov 12 2017 iSCSI-2015ace1-5a078d66.000
-rw------- 1 admin administ 1073741824 Jun 24 09:52 iSCSI-lun4-5d0de534.000
-rw------- 1 admin administ 107374182400 Nov 4 2015 iSCSI-nss01-56399e1a.000
-rw------- 1 admin administ 5368709120 Nov 11 2017 iSCSI-nss2015-5a06cf6d.000
-rw------- 1 admin administ 21474836480 Jun 22 17:11 iSCSI-test-56b3ce90.000
-rw------- 1 admin administ 5368709120 Jun 22 17:11 iSCSI-test-56b3ce90.001
[/share/HDA_DATA/.@iscsi.img] #
※ とても重要
CIFS/NFS のファイル共有NAS と違い、iSCSI でマウントして一つのターゲットを制御できるのは、一つのホスト、一つのイニシエータだけです。複数のホストからイニシエータでマウントする(できちゃいます)と、ファイルの排他制御は行われないので、ファイルシステム自体の不整合が起こります。
つまりファイル共有という目的には向いていない、という事です。あくまでも iSCSI ターゲットはネットワーク上の仮想ディスクです。
もっとも、一つのホストからマウントしてファイルを保存して、いったんオフラインにして、ターゲットを別なホストからマウントする、という事はできます。また、ターゲットは一つの iSCSI デバイスで複数作れるので、1台の iSCSI 装置に複数のターゲットを実装して、複数のホストから別々のターゲットイメージをマウントする事は問題ありません。
極端な話、ホストのハイパーバイザーは USB メモリやSANブートさせて、後はマウントした iSCSI の仮想イメージ上で、仮想マシンを動かす、HDDレスなハイパーバイザー運用もできます。
物理的な転送速度は、ネットワークの速度とディスクデバイスの性能に依存します。当然 10Gb base のネットワークカード、HUB、高規格なケーブルを使えば、論理的な性能は 10Gbps です。大抵は NAS の性能がそこまで出ないのですけどね。ヨドバシカメラあたりで売っている 4,000 円程度の 1G HUB でも、そこそこの性能が出てしまいます。
距離は、IPがつながればどこでもなので、ホストコンピュータとメインのストレージを自社のサーバールームに置き、イニシエータを動かし、バックアップ用の iSCSI ターゲットをデータセンターに置く、なんてこともできます。
【送料無料】QNAP TS-431P2(ホワイト) NAS 4ベイモデル クアッドコア CPU / LAN 2ポート搭載 (TS431P2)
価格:56,145円
感想(0件)
iSCSI の耳慣れない言葉に LUN (論理ユニット番号 : Logical Unit Number)というのがあります。
昔の SCSI は、 SCSI バスアダプタに7番のIDを振り、残りの 0 ~ 6 のディスクや CD, Tape などに ID を振り分ける物理的な3ビットのディップスイッチやジャンパ端子が付いていました。これが SCSI アドレスです。
これが実に難物でした。特に、複数の SCSI バスアダプタカードをデュプレクス設定する場合、割り込み番号も別々にするので、手が滑ってジャンパピンを飛ばして床を這いまわって探したり、難解なディップスイッチを前に数日悩んだものです。
つまり一つのSCSIバスには 0~7の合計8台(うち大抵7番はSCSI バスカード)の物理ユニットデバイスがつながって別々に見えたという仕組みだったわけです。
ところが SCSI バスを使った Raid コントローラが出てくると、ディスクの鈴なりが、一つの物理デバイスに見えてしまうわけです。これを「論理的な仮想番号」に分割して、システムからは、単一の鈴なり Raid ディスクを複数の論理番号に分割したわけですね。
これが LUN というヤツです。
iSCSI 機器のターゲットも、内部のソフトウェア的に複数の論理デバイスに分割して、複数のホストコンピュータから複数の物理デバイスのように見せかけるわけです。
別々な LUN は一つ、あるいは複数の iSCSI 機器によって、複数のホストに別々のディスクデバイスとして見せかけるンです。
https://en.wikipedia.org/wiki/Logical_unit_number
Qnap NAS の場合、iSCSI ターゲットはウィザード形式で簡単に作成できます。EXT4 ファイルシステム上で、オンラインでも簡単にサイズの拡大ができるので、 Windows の Storage Server のように NTFS の VHD 形式ではないので、そこそこ性能が出ますが、いかんせん古さと遅さは否めません。
Qnap NAS の iSCSI ターゲットの設定は、偉そうな Linux 系サイトに書いてある程、面倒なことはありません。ストレージマネージャから iSCSI タブにあるウィザードに従って iSCSI ターゲット名に任意の名前を付けると IQN にその文字列が追加されるだけです。わざわざ vi エディタに「正確に」綴りを間違えずに設定する必要もありません。ここでは Chap 認証は付けませんでした。
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16405779.jpg
機械は古いのですが、逆に言うと、「古くて遅い」ため、サーバーとNASとの接続プロトコルの性能差が、如実に現れる事になります。
QNAP TVS-951X 10GBASE-T/NBASE-Tポート内蔵
Windows10 の Microsoft 製 iSCSI イニシエータは「コントロールパネル」>「システムとセキュリティ」>「管理ツール」の中にあるので、ここで、設定済の iSCSI 「ターゲットを」 「検索」して選んで「接続」します。Chap 認証を付けておいた場合はターゲットで設定したパスワードが必要でしょう。
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16412132.jpg
新規に作成して、接続した後は、フォーマットされていないため、ディスクマネージャからフォーマットして使います。ちなみに、フォーマットして利用した iSCSI ターゲットの仮想ディスクは、他のマシンでマウントすることもできます。つまりHDDを取り外して、他のPCに繋げる事と同じことですね。
PR
ちなみに opeSUSE で使うにはこんな感じになりました。
open SUSE Leap 15.1 で iSCSI NASを使ってハマった
https://islandcnt.exblog.jp/239328437/
一番イラつくのは、巨大なファイルの転送でしょう。という事で 3G 程ある SUSE Linux のインストール用DVDの ISO ファイルを CIFS でコピーしてみます。
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16414334.jpg
3分11秒かかりました。1Gビットネットワークで 12~3% 程度の帯域を使って通信しています。明らかに古いNAS の性能が足を引っ張っているようです。
スループットは 150Mbps 程度で全体の最大15%程度でしょうか。
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16415832.jpg
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16422170.jpg
初速は出るのですが、その後は、ボロイ TS-110 の性能がモロに出ます。それでも 20 MB/s から 25 MB/s 程度は出ています。
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16423835.jpg
2分25秒でした。 大体20%程度のスループットです。
--
数字に弱い私の脳みそですが、 iSCSI は CIFS より 1.5倍くらい早い、という事が言えます。
Zabbix で QNAP TS-110 の I/O を見てみると、前半の CIFS アクセスより後半の iSCSI アクセスの山が高い事がよくわかります。
仮想化時代の NAS 選び - やっぱり iSCSI は早い。_a0056607_16425860.jpg
CIFS を使ったリモートディスクのマウントは、他のPCからもアクセスができる、というメリットがありますが、iSCSI は単一のホストからのアクセスしかできません。<--- これ重要.... -- もっとも、ターゲットストレージを複数作って複数のサーバーから異なるデータ領域にアクセスはできますが -- バックアップ用途や、サーバーの増設ストレージとして考えれば、良い選択であると言えます。
もっとも、iSCSI デバイスそのものは、ターゲット単位で別々なホストから接続できます。しかし同じターゲットで別々のホストからイニシエータから繋ぐと、とても笑いごとにならない事態になるので、普通やりません。
ハイパーバイザー同士で一つのターゲットを共有してライブマイグレーションはしたことはあります。
こうした性能のわずかな違いが、仮想化システムのハイエンドな領域で違いとなって出てきます。なお Qnap でも openiSCSI でも Windows Storage Server でも取った領域そのままのサイズのでかいファイルが作成されるようです。
国産 NAS の「ハイエンド」と称する「LANxxxx」などのモデルでは Windows Storage Server を使って NTFS フォーマットしています。Windows Storage Server は見た目 Windows サーバーそのものなのですが、ところどころちゃんとデチューンされているようで、SOHO向けが限度です。
こういった国産 NAS メーカーの製品カタログでは、「ハイエンド」は Windows Storage Server を搭載して、低価格のNASは Unix 系のシステムで「低価格」を謳っていますが、そもそも、上位モデルは、CPUやメモリの性能が高いものが使われています。性能が違うのは当たり前なのですが、あまり性能が出ないだろうと思います。
Windows Storage Server じゃなくて、ちゃんとした Windows Server と CAL 買えよな、という事なのですね。
このあたりは独自OSを NAS としてチューニングした Qnap や Synology, asuster などの iSCSI 機能付きの NAS を中規模ネットワークのミドルレンジの NAS として利用したほうが良いと思います。
仮想環境でのネットワークアタッチストレージ(NAS)は、本回線(構内LAN)とは切り離し、ストレージ専用のネットワークとして独立して運用させるのが基本です。サーバーとNAS間で凄まじい通信が発生します。サーバーNICが2ポート以上のものが推奨されます。
iSCSI はあくまでもネットワーク上のストレージのみの機能を提供するものであり、ファイル共有の手段ではない、という事です。
NAS をCIFSで使うと NAS が持つ独自のアクセス権限を設定しなければなりません。セキュリティも当然 NAS 独自の機能で設定します。
iSCSI はあくまでも「外付け SCSI デバイス」のネットワーク版なので、マウントする側のOSそのもののファイルシステム、セキュリティ機能、アクセス制限がホスト側の機能をそのまま利用できます。セキュリティ的には、マウントする際のパスワード制限しかないので、独自のストレージネットワーク内に配置すべきで、ユーザが使う構内ネットワークに配置すべきではありません。
4MHz/8MHz切替のディップスイッチでいいだろ
昔と今のユーザーの違いは、PCの知識が無いプレイヤーがPCがあるだけで遊べると思い込んでる所。
↓これ見て、それがとてもよく分かる。
今回のウィンドウズアップデートもダメでした。 | 自由掲示板 | マビノギ http://mabinogi.nexon.co.jp/community/freeBoardContent.asp?dp=0&th=128502999&ix=128502
例えば、古くてすまんけどNEC王者時代のPCシリーズだと、サウンドボードからMS-DOSの一般的な操作まで覚えてきた。
サウンドボードは物によってはディップスイッチまで弄る事もあったし、PC本体そのものもいじる必要があった。
MS-DOSではコンベンショナルメモリの確保やら、インストールなど手打ちコマンドが必要だった。
Windowsになってからは、そういうのは減ってきたが、それでもWin3.0~Win2000くらいまではある程度知識を持っている人が遊んでいた。
XP以降になってからは、ゲーム自体も簡単なインストーラーなどが出てきたおかげでわかりやすくなったが、
それでも自分の環境で動かなくなるという事は多々あって、ユーザーが自力で解決しようと必死に学んできたわけだけど、
Windowsが新OSを出す度にかんたんかんたんと知識もろくに持っていないユーザー向けにしていくので、
今じゃ「Win10のアプデでゲームできなくなりました」と言った後にゲームに関係のないストアアプリのせいでゲームが出来ないと言い始める有様。
PC=ゲーム機としか考えていないという間抜けの恥ずかしい様だなと。
PCをゲーム機にするなら、ゲーム専用とするなりの設定を事細やかに行えばいいし、正直な所余計なことをしないデフォルト状態であれば遊べるわけだ。
ホビーパソコン用途以外の事も行うから、余計に遊べなくなってしまう。
上記のURLでは、まったく知識がない集まりがとんちきな方向への意見を展開している有様だったが、
こんなのばかりが増えると、いよいよ何も出来ない世代だらけになってしまうんじゃないの。
AndroidもiOSも、本来の用途を間違えてゲーム機扱いしている人が多いが使いこなせてない子ばかりだろう。
文章編集もメールで良いなんて言ってる子がいたが、要するに他のアプリを使う知識が足りないからこれなのだ。
情報科の増田さんが何かと話題になっていますが、専門を同じとする学徒のひとりとして、僭越ながら2冊ほど本を紹介したいと思います。
本で勉強をするのが辛いという方に本を紹介するのも変な話であります。しかしながら、いずれの本も手を動かしながら学ぶというスタイルをとっており、情報科の増田さんにとって有益なのではないだろうかと思います。
つまるところ、読んでわからないなら創ってみればいいじゃないという提案をしたいと思います。もちろん全く読まずにいると手を動かしようもないのですが、ある程度読んでわからなくなったら取り敢えず創ってみるという選択肢があると勉強が捗るのではないでしょうか。
とにかく何か創れというのも抽象的でありますから、そんな精神を全面に出している本をご紹介させて頂くことにしました。
どちらの本もOSより下の階層の内容に関することが含まれています。ある意味で定番な本でありますから既にご存知かもしれません。
CPUの創り方
黒いゲジゲジさんや抵抗、コンデンサーなどを使って、CPUを作成します。本書ではハンダ付けで組み立ていますが、ブレットボードでもCPUを組み立てることができます。
「CPUを創る」こんなパワーワードが他にあるでしょうか。合コンで「おれはCPUを創ったんだぜ」なんて言えば、伝説になれるかもしれません。私は常日頃からこのパワーワードを発射する機会を探っているのですが、未だそのような機会に恵まれておりませんし、これからもあるとも思えません。情報科の増田さんに限らずはてなーの皆様に於かれましては合コンにおける効果の是非を試していただきたく存じます。
CPUはコンピュータの中核を担う大切な要素であり、その役割は与えられたプログラムを実行するというものです。プログラムだかなんだか難しそうですが、この本におけるプログラムはそんなに大層なものではありません。単なるスイッチの組み合わせです。
要するにこの本ではたくさんのスイッチの切り替えにより、色々な挙動を示す何かを作ります。
そんな機械のどこがCPUなのだと思うかもしれません。しかし、そのスイッチのパターンこそ当に我々がプログラムと読んでいるものであり、そのスイッチに従って所定の動作をするというのはCPUの役割そのものなのです。
ディップスイッチで表現した0と1のプログラムが特定の意味を持ち、それにより特定の動作が実際に実行されるというのを見ると心を大きく揺さぶられるはずです。
たぶん…。
ただ、忘れていけないのがお金の話。
私はブレットボードやその配線キッドといった商品も合わせて購入したので、本の内容を試すためには2万円ほどのお金を費やしました。(ちなみに部品リストは本書に書かれていません。しかし、Googleで本のタイトルや「TD4」などの言葉を検索すると沢山の情報が出てきます。)
テスターも良いのを揃えたいなんて欲望を持つと合計で数万ほど飛びます。
もし部品を揃えようと思ったならば、ネットを使って集めるというのが確実な方法です。ですが、秋葉原まで出向いて揃えるのもいいかもしれません。秋葉原を歩きまわり9種類のゲジゲジや各種部品を集めていると、玄人っぽい雰囲気を醸しだすことが出来るので個人的にはオススメです。
この本において作成するCPUは、知らない人からみるとなんかLEDがピカピカ光っている機械でしかありません。電卓のように大層な機能があるわけでもなく、せいぜいがラーメンタイマーであります。正直なところ、数万円かけて電卓にも負けるようなCPUを創ってどうするのかと言われると返答に窮します。ですが、知識を得るための勉強代と思うと安いのではないかなと思います。
この本では文字で書かれたプログラムが、現実世界に影響をおよぼすという一連の流れを手を動かしながら学ぶことが出来ます。前の本と異なり、ソフトウェア(*1)上でコンピューターを作るという形になります。制作場所が画面の外側ではなく内側であるという違いこそありますが、基本素子からコンピュータを組み立てていくことには変わりないので参考になるかと思います。
本書は大きく2部に別れています。1部目でバイナリコード(0と1のプログラム)を実行できるコンピューターを作ります。2部目で本書で提供されるJack言語(いわゆる我々の考えるプログラム言語)をバイナリコードに変換するためのコンパイラを作り、さらにJack言語でOSを作ります。
最後に、OSをコンパイラに通してコンピューターに読み込ませて簡単なゲームを動かしてみようというものです。
この壮大な内容が1冊の本にまとまっています。シンプルにまとまっている反面、ややもすると説明不足だと思うかもしれません。
そんなとき、オンライン上でビデオ講義を無料にて受講することができます。(ただし、現時点で公開されているのは1部目の内容だけです。)
https://www.coursera.org/learn/build-a-computer/
ただ、注意点があるとすれば言語が英語しかないということです。私は英語苦手マンなのでスライドの図に全神経を集中させています。それだけでも、意外なほど言っている内容を推測することが出来ます。
さらにこのビデオ講座を図書館で受講することで、周囲に威圧感を与えることができます。
この2冊の本はどちらも10年以上前に書かれた本です。古臭いとか思うかもしれません。けれども、書かれているコンピューターの基本的な考えや構成は今もなお現役です。言い換えると、その長い時を超えても不変である根本の知識が記されています。
それでは、情報科の増田さんにとって今後の方針の参考になれば幸いです。
ここまでダラダラと書いて今更なのですが、はてなという戦場においてこのような上から目線のアドバイスを書くことに、若干の恐怖を抱いております。情報科の増田さん、CPU警察さんおよび、コンピューター警察さんの皆様に於かれましては、何か誤った記述などがございましたら火炎放射器を持ち出す前に、ご指摘をくださるようにお願いたします。
(*1):http://www.nand2tetris.org/software.phpから無料でインストールできます。