「IT」カテゴリーアーカイブ

令和になったことだしクラウドへ移行する – 15 – Azure AD Connectを強制停止する

ども。こんにちは。

先日ADをぶっ壊してしまい、再構築しましたが、AD Connectはインストールしておらず、以前のオンプレEchangeからExchange online(Office 365)へ移行した際に設定したAzure AD Connectがずっと同期エラーの状態でした。

また、こんな感じでソースが「Windows Server AD」となっているユーザは、Azure AD上で編集や削除ができません。
不要なユーザはAzure AD上でサインインをブロックに設定はしていましたが、いい加減適当な名前のユーザも結構います・・・。

もう二度とオンプレADと同期はしないと覚悟を決めたので、同期を強制的に解除します。

やり方としてはPowerShellで

 Set-MsolDirSyncEnabled -EnableDirSync $false

を叩くだけです。

参考:Office 365 のディレクトリ同期を無効にする

上記のページにも書いていますが、これは最終手段というかもう二度と同期しないくらいの覚悟?のコマンドのようですね。

PowerShell を使用して、ディレクトリ同期を無効にすることができます。 ただし、トラブルシューティング手順としてディレクトリ同期を無効にすることはお勧めしません。 ディレクトリ同期のトラブルシューティングに関してサポートが必要な場合は、「 Office 365 のディレクトリ同期の問題を解決する」の記事を参照してください。

ハマったのは、反映されるまでの時間です。

オンプレミス Active Directory Domain Services から Azure AD に同期したオブジェクトを管理、削除できない

注: アカウントが無効化されるまで、72 時間ほどかかる場合があります。処理に要する時間は、Office 365 サブスクリプション アカウントにあるオブジェクト数により異なります。

結局、ソースがAzure Active Directoryに変わるまで36時間ほどかかりました。

これで無事Azure AD上から削除できます。

で、やらかしたことは・・・

ユーザを消しすぎた

です・・。

オンプレExchangeからOffice 365に移行したときに、いくつかのメールボックスをユーザメールボックスから共有メールボックスに変換しています(ライセンス節約のため)が、変換前のユーザを勢いで消してしまい、一瞬共有メールボックスがみえなくなりました。。。。

すぐに削除済みユーザから戻したので復活しましたが・・・。

これ忘れそうだな。。。

以前ここで読んでたのに忘れてました。

ユーザー メールボックスを共有メールボックスに変換する

古いユーザー アカウントは削除しないでください。 それは共有メールボックスの固定に必要です。 ユーザー アカウントを既に削除している場合、「削除済みユーザーのメールボックスを変換する」 (削除されたユーザーのメールボックスを変換する) を参照してください。 

またやらかしそう・・・

ではでは。またの機会に。

【バックナンバー】

ではでは。またの機会に。

HaloCode(ESP32)でMicroPythonを動かす(1)

ども。こんばんは。

Codey Rockyに続いて同じくMakeBlock社のHaloCode(ハロコード)も買ってしまいました・・・。

今回買ったのは、
Makeblock Halocodeスタンダードキット【国内正規品】
Amazonで¥5,890なり。

本体だけでも良かったのですが、電池ケースが欲しかったのでキットにしてみました。
本体だけなら¥3,000以下で購入できます。

HaloCodeもcodey rockyと同じESP32チップが乗っているようで、MicroPythonが動きます。もちろんWiFiにも繋がります。

マイクが付いてるので音声識別もできるらしいのと、モーションセンサーがついています。

出力機能はLEDなのでちょっとデバッグがしづらそうですが、小さくて面白そうなので購入してみました。

 

中身はこんな感じ。

本体はかなり小さいです。

とりあえずUSBケーブルに繋いで起動してみました。

mBlock 5経由でファームウェアをアップデートしました。
使えるブロックや拡張もcodey rockyとは違いますね。

モーションセンサーと音声認識は使ってみたいですね。日本語だめな気もしますが。。。

とりあえず、先日つくったリモコンでcodey rockyを動かすスクリプトを改変してHaloCodeのモーションセンサーに合わせて動くようにしようかな。

メッセージのやり取りはMQTTでつくってみようかなー。

色々楽しみですね。

ではでは。またの機会に。

codey rocky(ESP32)でMicroPythonを動かす(3) – テレビのリモコンでrockyを動かす

ども。こんばんは。

なぜだかわかりませんが思いの外ハマっています。楽しい。

ラズパイに比べてできることに制約が多いので、制約の中でできることを探しながら色々試すのが楽しいですね。

で、今回は、赤外線(Infrared)を使って、テレビのリモコンでrockyを操作するコードを作ってみました。

・Codey
Aボタン:リモコンから受け取ったコードを表示するだけ
Bボタン:全スクリプトを停止
Cボタン:リモコン操作で動くモード

・リモコン
音量大小:速度を変更(1-100)
上下左右:押している間rockyがその方向にすすむ

・おまけ
前に障害物がある場合は、止まる。

動かすとこんな感じです。
音量キーでの速度の調整がやたら早いので少しwaitを入れたいのですが、他のコード受信時と同じ処理でやっているので、waitをかけるとrockyの動きがカクカクになります。。。

 

 

■コード

import codey,rocky,event

#このグローバル変数イマイチ
rspeed = 10

def speedctl(flg):
    global rspeed
    if flg == "up":
        if rspeed < 100: rspeed = rspeed + 5 else: if rspeed > 10:
            rspeed = rspeed - 5


#リモコンモード
# TOSHIBA製リモコン
# 64 26 音量大
# 64 30 音量小
# 64 62 上
# 64 64 下
# 64 95 左
# 64 91 右
@event.button_c_pressed
def button_c_cb():
    global rspeed
    codey.display.show("RC",wait=True)
    while True:
        ope = codey.ir.receive_remote_code()[1]
        codey.display.show(rspeed,wait=True)

        if ope == 26:
            speedctl('up')
        elif ope == 30:
            speedctl('down')

        if ope == 0:
            rocky.stop()
        elif ope == 91:
            rocky.turn_right(rspeed)
        elif ope == 95:
            rocky.turn_left(rspeed)
        elif ope == 62:
            if not rocky.color_ir_sensor.is_obstacle_ahead():
                rocky.forward(rspeed)
            else:
                rocky.stop()
        elif ope == 63:
            rocky.backward(rspeed)
        else:
            rocky.stop()

#ただのリモコン読み取りモード
@event.button_a_pressed
def on_button_a_pressed():
    codey.display.show("Recv mode",wait=True)
    while True:
        ope = str(codey.ir.receive_remote_code()[0])
        ope2 = str(codey.ir.receive_remote_code()[1])
        codey.display.show(ope2,wait=True)

#### TEMPLATE ####
#基本的な構文間違いなどにきづけるように起動時にok!と表示 
@event.start
def on_start():
    codey.display.show("ok!")

#スクリプト停止
@event.button_b_pressed
def on_button_b_pressed():
    codey.display.show("Stopped",wait=True)
    codey.stop_all_scripts()

 

ちなみに、赤外線の送信はまだうまく行ってません・・・。というか、送信機能未完成っぽい?

フォーラムでテクニカルサポートからこんな回答がでてます・・・。

リモコンに信号を送るには2つ送らないと行けないけどまだエミッターができてないよ、的な・・・。

2年経ったけどいかがでしょうか・・・。

Sensing IR signals

I am afraid that currently IR control port on mblock software is not open for users yet, although the firmware supports that. Users now cannot use remote controller to control codey rocky.
We will update the information if we add this function to mblock software officially.
Thank you for the feedback, we’ll complete APIs for IR reception emitter then.
 

【バックナンバー】

ではでは。またの機会に。

自分の尻拭いプロジェクト – 2 – Zabbix 4.4をCentOS 8(8.0.1905 (Core))にインストールする

ども。こんばんは。

気づけば年末年始の休暇もあと1日となりました。

この年末年始の最後に、やかして吹き飛ばした旧Zabbixの代わりに、新しいZabbixを構築します。

せっかくなのでCentOS 8にインストールします。

以下、とりあえずzabbixがうごいたやったーくらいの手順です。
SELinuxやfirewalldもノリで無効化しています。

apacheの設定周りとかもデフォルトのままです。

■CentOS 8.0.1905のインストール

VMWare ESXi 6.7.0U3上に仮想マシンを作成してDVD ISOファイルをもとにインストールします。
インストーラーは7とあんまり変わらないです。

とりあえず必要なものは後で入れるので、サーバにしました。
※あとでランレベルは3にします。

とりあえず入りました。

あれ、ifconfigとかnetstatとかそのまま使えちゃうのね。ipとかssとかせっかく覚えかけてたのに。

■CentOS 8 初期設定(1) ランベルを3にしたい

昔の人なので、inittabを探し回ってましたが、今はないようですので、以下のコマンドで変更します。
※CentOS 7系からこれのようですね。おじさんなので、inittabとかinit 3とかrunlevelな人ですorz

# systemctl set-default multi-user.target

以下確認コマンド

# systemctl get-default

■CentOS 8 初期設定(2) SELinuxを無効にする

無効にします。が、やらかしてカーネルパニックになります。
※今でもカーネルパニックっていうのかな。

Failed to load SELinux policy, freezing.

昔ながらのやらかして、/etc/sysconfig/selinuxの書き間違いです。

なので、シングルユーザで入って直します・・・が、シングルユーザモードの入り方がわからない。カーネルパラメータに–singleとか追加して起動すればいいんでしょ?と思ってたらこれも違っていた。。。

4行目のroを消してrw init=/sysroot/bin/shに書き換えてctrl+xで起動します。

はいれました。chroot /sysrootしてもいいですし、今回は/etc/selinuxを直すだけなので直接編集しました。

おバカですねぇ。disabledはそっちじゃない。(このミスはCentOS 5の頃からやらかしている気がしますね)

こんな感じに直してrebootして無事起動しました。

■CentOS 8 初期設定(3) その他初期設定

firewalldの無効化とSSHのrootログインの無効化をしました。
このあたりは特に特殊なことはなかったので割愛。

■(未解決)SSH経由での操作のレスポンスが悪い

ぱっと解決できなかったので放置していますが、ログイン後の操作のレスポンスがとても悪いです。エンター押すだけでもちょっと待たされます。VMWareのコンソール上だとそんなに遅く感じないのでSSH関連かtty関連のなにかかなー。ちょっとイライラします。

これはおいおい調査します。

■CentOS 8 初期設定(4) アップデート

CentOS 8からはyumが廃止されdnfになりました。
※pythonを3系に完全移行するためにdnfに変えたらしいです。

なおyumコマンドはdnfのラッパーとして残っていますのでyum updateでもdnf updateと同義になります。

とりあえずOSはこんな感じでしょうか。

■ZABBIX 4.4のインストール

以下のURLに従います。

https://www.zabbix.com/jp/download

うちは今回、4.4 / CentOS 8 / MySQL / Apache の構成としました。

なお、コマンドどおりに実行してもうまく行かない点がありましたのでその点は補足します。

まず先にmysql-serverとmysqlのインストールが必要です。
※サーバとクライアント。普通にdnf install mysql mysql-serverとかでいいです。自動起動とか忘れずに。

上記サイトに従ってコマンドを実行してきます。

・「a. Install Zabbix repository」はそのまま。

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all

・「b. Install Zabbix server, frontend, agent」もそのまま。

# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

・「c. Create initial database」は案内されたgrant文がmysql 8系では通りません。

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;
mysql> quit;

MySQL 8系ではGRANTと同時にユーザを作れなくなったようで、以下のようなエラーになります。

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘password” at line 1

なので、ユーザ作成とGRANTをバラバラに実行します。
※passwordのところにはパスワードを設定します。
(“mysql> create database zabbix character set utf8 collate utf8_bin;”は実行できるはず。)

mysql> create user zabbix@localhost identified by ‘password’;
mysql> grant all privileges on zabbix.* to zabbix@localhost;

以下のコマンドも普通に流せました。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

あとは、サイトの記載どおりです。

とりあえずコアスイッチだけぽいっと追加しましたがうまく動いてそうです。

【バックナンバー】

ではでは。またの機会に。

自分の尻拭いプロジェクト – 1 –

ども。こんばんは。

先日のオペミスで仮想マシンを全台虚空に返したわけですが、昨日(2019/12/30)午後〜夜まで時間をかけてなんとか復旧しました。

結局ほぼ元通りの構成で面白みはないですが、バージョンがだいぶ新しくなりました。

  • AD(Windows Server 2008 R2)
    • Windows Server 2012 R2をインストールして再構築。
      ※手持ちのライセンスが2012 R2しかないので・・・。
    • NPS(RADIUS)の構築までサクッとできた。
      • ちなみにAD DSはインストールしていたけど、証明機関のをインストールしておらずPEAPが使えなくてハマった。
        証明機関さえインストールすれば解決できる。
        (旧ADはIISの証明書とかも発行してたので証明機関入ってたみたい。)
    • MacBook Airは一旦Active Directoryのバインド解除して再度バインドした。無事AD上のコンピュータに表示されたし新しい証明書もインストールされているので多分大丈夫だと思う。。。プロファイルも消えなかった。
    • 過去もハマったけど、評価版にそのままライセンス入れようとして、「このエディションのWindowsのライセンス認証にそのキーは使えません。別のキーを試してください」とか言われたので以下のコマンドでキーを登録。

      DISM /online /Set-Edition:ServerDatacenter /ProductKey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx /AcceptEula

  • 大昔から動いているLinux(CentOS 5)
    • 正直作り直しは困難と判断・・・。DHCPの設定ファイルも抜き出したかったし。思い出はなかなか消せなかった。
    • あと、基本DNSがこいつで、ADもDNSはこいつを参照/更新している関係で意外と大事な役割になっている。
      (今回もADにはDNSサーバをインストールせずに作ってしまった・・・。)
    • Acronisで取得したバックアップ(tibファイル)から復元 
      • vSphere Converter Standaloneでは6.0までしかサードパーティのイメージ変換機能が実装されておらず、手元の5.0でtibをvmdkに変換・・・するも失敗。
      • しょうがないのでAcronis TrueImageのブータブルCDで頑張って復元。
      • vSphere 6.7だと、マウスが動かない。
        TABキーとかの操作だとどうもうまく行かず、マウス機能(F10とか押すとテンキーでカーソルが動かせる)で頑張った。(わざわざMacBook Airにキーボード取り付けて・・・)
      • 一部どうしても見えないボタンがあったのでTABキーとか駆使してなんとか復元。結局これが一番うまくいくなー。(数年前にも同じことした気がする。)
  • PBX
    • FreePBX STABLE SNG7-PBX-64bit-1910(FreePBX 15/Linux 7.6/Asterisk 16)で再構築。
    • アナウンス音声の日本語版が付属していて嬉しい。
    • ひかり電話とのトランク、Cisco IP Phone 7961のレジスト、内線、外線発信/着信までまさか数時間で終わるとは思わなかった。
    • 特にIP PhoneのConfigが旧FreePBXサーバのtftpbootフォルダにしかおいてないと思い込んでいたのでもう一度Config作成は絶望かと半分あきらめていましたが、過去の自分がうまく動いたときの一連のパケットキャプチャを保存してくれていたので、パケットキャプチャの中身からtftpでやりとしていたファイルを抽出して復元できました。まぁファイルとしておいておいてくれれば言うことないのですが、自分の所業なので諦めます。(どうせパケットおいておけば最悪どうにかなるだろうとか当時考えたんだろうな。)
    • FreePBXのバージョンもだいぶ変わっていたけどCisco側は設定修正なしでいけた。日本語化まで数時間でできた。
  • 監視サーバ
    • まだ未構築・・・。年明けかな。

以下、電話関連(FreePBX)のメモ。

環境、バージョンは以下の通り。

ハイパバイザー:VMware vSphere 6.7.0U3
イメージ:FreePBX STABLE SNG7-PBX-64bit-1910(CentOS 7.6ベース)
FreePBX :15
Asterisk:16

今回は全部WebUIだけで完結しましたが、以下ハマったポイントを書いておきます。

なおSIPドライバーはPJSIPです。

  • FreePBXのIPアドレス変更
    • /etc/sysconfig/network-scripts/ifcfg-eth0を編集。
      ※CentOS 7系だけどNetworkManagerは使ってないみたい。
  • tftpサーバの起動
    • /etc/xinetd.d/tftpを編集
    • disableをnoにしてservice xinetd restartする。
  • Fail2Banの解除
    • なんかGUIからできなくなった?ぽいのでコマンドで
      service fail2ban stop
      /var/log/fail2ban.logをけす
      service fail2ban start
  •  FreePBXのモジュール更新
    • 量が多すぎて一度にアップグレードができなかった。少しずつ更新する必要あり。
  • TCPのリッスン(Cisco IP Phoneのため)
    • Asterisk SIP設定で、chan_pjsipの設定を変えばいいが、Apply Configだけでは反映されず、osごと再起動が必要だった(Asteriskの再起動でも良かったかも)。
  • Outboundルール(外線発信)
    • 以前は「0X」だけでマッチした気がしますが、今回はそれだとルールにマッチせず11桁と10桁それぞれ登録しました。
  • ひかり電話にRegistできているのに、外線発信、着信両方FreePBXまでこない。
    • 正直ここが一番ハマりましたが、Asterisk SIP設定のGeneral SiP SettingsのNAT設定の外部アドレスを自分自身のIPアドレスにして、再起動したらうまくいきました。
      ※我が家はFreePBXからひかり電話HGWまでの間はNATはしていません。
      デフォルトでは、へんてこなIPアドレス(104.145.12.102)が1設定されており、実際のSIPパケット見ているとViaとかContactとかにそのIPがセットされていました。

以下、最低限のひかり電話発着信のためにいじったところ
(WebUIは日本語にしていたので項目が日本語のところがあります。)
※DID/CID制御とかはしていません。やりたい方はVoIP-Info.jp Wikiが大変参考になります。

  • ひかり電話HGW側
    • 内線設定
    • ダイジェスト認証なし
    • MACアドレスはうちの場合だとL3スイッチになる
      ※最初SVIのMACアドレスにしてたけど、よく考えたらNAT関わるわけじゃないから普通に出ていくところのインターフェースのMACアドレスを登録。
  • 接続
    •  トランク
      • General
        • トランク名:適当
        • アウトバウンドCID:自分の外線番号
        • 最大チャネル数:1(うちは1本の契約)
      • ダイヤル番号の操作ルール
        • 未設定
      • PJSIP設定
        • General
          • ユーザ名:0003(HGWの内線番号の頭に0を3つ)
          • Language Code:日本語
          • SIP Server:ひかり電話HGWIPアドレス
        • 高度な設定
          • DTMF Mode:バンド内
          • From Domain:ひかり電話HGWIPアドレス
          • From User:3(HGWの内線番号。0なし)
          • クライアントURI:sip:3@ひかり電話HGWIPアドレス
          • なんとなくパケットみてこんなリクエストになってれば行けるはず。

            REGISTER sip:ひかり電話HGWIPアドレス SIP/2.0
            From: <sip:3@ひかり電話HGWIPアドレス>;(略)
            To: <sip:3@ひかり電話HGWIPアドレス>

    • インバウンドルート
      • 単純に全部着信回すなら気にしなくていい。
      • 宛先をセット:自分で作った着信グループ
    • アウトバンドルート
      • ルートCID:意味ないらしいけど一応外線番号
      • 内線を上書き:はい
      • 一致したルートのトランクシーケンス:ひかり電話とのトランク
    • Dial Patterns
      • こんなかんじで。(これだと110とか119とか104とかは発信できませんのでご注意。うちは発信するつもりはないのであえて携帯と固定電話だけトランクに流すようにしています。)

あら、書いてみると意外と設定すくないですね。

あ、書いてないですが内線は普通に設定しています。
といっても番号とSecretくらしか設定してないですが・・・。

あと、我が家専用ですが、Cisco側がTCP/5061でSIPをしゃべるのでPJSIPがTCPで5061を待ち受けるようにしています。
※過去のFreePBXではchan_ipでしかTCPが設定できずいろいろ悩んでポート変えていたみたいです。

今日は家の掃除もしたし、なんとか新年が迎えられます。

皆様良いお年を。

ではでは。またの機会に。

 

MacBook Airのキーボードが壊れたかもしれない・・・・

ども。おはようございます。

昨日盛大にやらかしたので、今日は早起きして環境再構築に向けて色々準備していますが、なんとそんなタイミングでMacbook Airのキーボードが壊れたかも・・・。

泣きっ面に蜂、踏んだり蹴ったり、ピンチにパンチ・・・そんな感じです。

キーボードの右半分が死んだようで。
幸いパスワードに使っている文字や記号数字はセーフでした。ほんと不幸中の幸い。

症状としては、「o」キーを押すと「oi」に、「u」キーを押すと「oui」にとか、カーソルキーを押すと「]」が連続で入力されるとか。「:」とか「;」が入力できないとか。
制御文字っぽいのが勝手に送られるとか。

多分機械的な故障な気がします。少しほっといたら今は直ったぽいですが、これは時間の問題で再発しそう。。。
ちなみに水とかこぼしてないんだけどな・・・。

これはあれかな。ADが壊れた問題もあるので、無理に復旧せずに、新しいMacを買って、次はADに参加させるなよ、という啓示かなにかなのかな。。。

 

 

もうどないせーっちゅーねん。

ではでは。またの機会に。

我ながら自分のバカさ加減に腹が立つ・・・。

ども。こんばんは。

派手にオペミスしました。

というか、してたことに数時間後に気づきました。

移行したばかりのVMのデータストア吹き飛ばしました\(^o^)/

そして、旧NASからも削除済みで、旧NAS上はすでにThikで新しいLUNを作ってしましましたので、もう復元できない\(^o^)/

10数年分のログと思い出が(´;ω;`)

まぁいい。これが仕事じゃなくてよかったと思うことにしよう。
そし旧環境から気持ちを一新するいい機会を得たと、新しいことにチャレンジする機会を得たということにしよう(´;ω;`)

結局、何をやらかしたか。

  1. 旧NAS上にバックアップ用にiSCSIのLUNを作る(←問題なし)
  2. 新NAS上で旧NASをiSCSIでマウントする(←IPアドレスを間違ってしまい自分を自分でをマウントしていた)
    タイムマシンがあったら過去に戻ってぶん殴りたい。
  3. iSCSIのLUNをEXT4でフォーマット(←大惨事発生、気づかずorz)
  4. 新NASでLUNのエクスポートジョブ開始(←更に問題をややこしくした。自らとどめを・・・)
  5. なんか仮想マシンの調子が悪いぞ?(←気づき)
  6. VMからデータストアがみえないなー(←軽い気持ち)
  7. LUNエクスポートジョブキャンセル(←これはまあありかな)
  8. データストア消失に気づく(←まだ希望があった)
  9. パーティションの作り直し方とか調べて色々する(←無意味)
  10. 作業中のスクリーンショットとかを見直す(←あっ)

\(^o^)/

まぁいつかはやめようと思ってたわけだし、OSも全体的にサポート切れだし、メールはオンプレExchangeからO365へ、DNSはCloudflareへ、ブログもAWSにそれぞれ移行は終わってるので、実害は少ないかも。

直前まで使っていた仮想マシンと消失により想定される影響はこんなところかな。

  • AD(Windows Server 2008 R2)
    • Exchangeはもう役目を終えている(無駄にo365とのハイブリッドのままだけど・・・)
    • ADのSyncしなくなったからo365側もちょっと設定見直そう。
    • NPS(RADIUSサーバ)が死んだので一部機器の無線LANが死ぬ
      →もう.1Xもやめようかと思うけど、FreeRADIUSで再構築かな・・・。やっぱAD作り直すか・・・。(手持ちが2012しかないけど。。。)
    • MacBook AIRのアカウントに影響でるかも?
      →これ一番まずいかも・・・。今一番怖い。
  • 大昔から動いているLinux(CentOS 5)
    • 最悪Acronisのバックアップから戻せる(今朝フルバックアップが取れてる)けど、どうするかな・・・。
    • LAN内のDNSのマスターだった(セカンダリは物理サーバなのでセーフ)
    • そういえばADもこのDNSサーバを更新しにいく方式だっけか。。
    • DHCPサーバがいなくなった
      • 一部MACアドレス固定で払い出している機器がある。。。
        地道にFortiGateに移行するか。。。
    • SYSLOGを受けていた
    • SNMP-TRAPをメールに変換して飛ばしてた。
    • LAN内の機器のSMTP中継サーバだった。
    • AWSのサーバのSSHキーをここにしかおいてない気がしたけど一応バックアップとってた
  • PBX
    • 電話死亡
    • クソ苦労して作ったIP PhoneのConfigがとんだと思う。。
    • DHCPサーバでtftpサーバのIPとか渡してたっけか・・・。
  • 監視サーバ
    • ふるーいzabbix。2.xとかそんくらいかも
    • トラフィックとか見るのに便利だったなぁ

実質4台が常時稼働だったけど、それぞれ思い入れというか、もう存在が日常なサーバたちだったので、実のところショック大。。。

まぁ年末年始を利用して色々作り直そう。

来年は良いことあるといいな。

ではでは。またの機会に。

NASリプレースプロジェクト – 7 –

ども。こんばんは。

年末ですねー。

ようやくNASのリプレースが最後まで完了しました。

最後まで残っていたのは、VMwareのデータストアの中身です。

先日、ESXiを6.7にバージョンアップしたので、以下の内容は6.7U3Bでの内容となります。

vSphereのスタンダードライセンスを持ってればStorage vMotionでぐいっとデータストアを移動できるはずなのですが、無償版なので、今回は手動で頑張って移動します。

参考にさせていただいたサイト:
コマンドでシンプロビジョニングの仮想マシンを別のデータストアへ移行する

本家のドキュメント:
VMware 環境内での仮想マシンの移動またはコピー (1000936)

今回は、スナップショットが残っているVMはなかったので、上記参考サイトの方法で移動しました。シンプロビジョニングを維持しながら、不整合を起こさずきれいに移行できました。

作業時の構成としてはこんな感じ。
全機器GECを組んでいます。

NASそれぞれがiSCSIターゲットになっています。
ちなみに旧データストア(TS-859 Pro+側)はVMFS5で、新データストアはVMFS6です。

ESXi(ML110 G5) ━ Catalyst 3750X ┳ QNAP TS-859 Pro+
—ーーーーーーーーーーーーーーー┗QNAP TS-873

流れは以下の通り。

  • ESXiへのSSHの許可
  • 仮想マシンのスナップショットを統合(あれば)
  • 仮想マシンのシャットダウン
  • GUI(Web Client)上で仮想マシンを右クリックして登録解除
  • 新しい仮想マシンフォルダを新データストアに作成
    • # cd /vmfs/volumes/新データストア# mkdir 移行先仮想マシンのフォルダ
  • vmdkを移動
    • # vmkfstools -i /vmfs/volumes/旧データストア/仮想マシンフォルダ/xxx.vmdk -d thin /vmfs/volumes/新データストア/移行先仮想マシンのフォルダ/xxx.vmdk
      • ファイル名はちゃんと宛先も指定する必要がある。名前を変えるとvmxを修正しないといけないので原則名前は変えない。
      • 複数ドライブの場合hそれぞれコピーする。
      • うちの環境だと、GUI上の使用済み容量が85.5GBくらいで、20分程度でクローンできました。500Mbps〜600Mbpsくらい出てました。
        以下VMDKコピー中の様子。(旧NAS)

        (新NAS)
  • vmdk以外を移動
    • # find /vmfs/volumes/旧データストア/仮想マシンフォルダ/* -not -name “*.vmdk” -exec cp {} /vmfs/volumes/新データストア/移行先仮想マシンのフォルダ/ \;
  • データストアブラウザでコピーした仮想マシンを右クリックして登録する
  • 起動確認
    • 起動時に「質問」が出てきて、仮想マシンを移動したのかコピーしたのか聞かれますので、「移動」を回答します。
      ※MACアドレスが再生成されないので、OS上のNICの認識は変更なくいけるはず。
  • 自動起動設定のやりなおし
    • 登録解除しているので自動起動設定が消えています。

そんな感じで18台分、おおよそ800GBほど移動しました。
※結構使ってない仮想マシンもありますが・・・。

で、全部移行しおわって、GUI上で全仮想マシンのデータストアが新データストアのみ(列の選択で出せます。CDとかカウントしていると複数データストア表示される場合あり)になっていることを確認して旧データストア側のNASはESXi上のiSCSIターゲットから削除しました。

NAS側、ESXi側双方再起動してみたりして問題なさそうだったので完了としました。

で、NASリプレース前後の仮想マシンのパフォーマンスを比較してみました。

上が旧NAS環境、下が新NAS環境で動作させた場合の仮想マシン上のCrystalDiskMarkの結果です。

ランダムアクセスがかなり改善しました。
体験的にも早くなってる感じがありますね。
新NASはSSDキャッシュも効かせてるのでその効果もあると思います。

 

とりあえず旧NASは完全に役目を終えました。
ディスクがボロボロですが、なんとか壊れる前に全データ入れ替え終わってよかった。

旧NASは余計な設定を削除した後、現在新NASのiSCSI LUNのバックアップ先として使えないか検証中です。

【バックナンバー】

ではでは。またの機会に。

FortiGate 50E購入

ども。こんばんは。

つい先日、60Dを4台ほど買ったばかりですが、、、やっぱりFortiOS 6.2を使いたいので、FortiGate 50Eを購入しました。

ヤフオクで¥12,000で購入(送料別)。

なんと、ライセンスが2022年11月まで残っている代物です。
これは安い。

とりあえず、FortiOS 5.4が入っていたのでガツンとFortiOS v6.2.2 build1010 (GA)までアップデートして一旦初期化(execute factoryreset)してIPアドレス振って、ハードウェアスイッチを吹き飛ばしてVDOMを設定しました。

50EはVDOM 5つまでなのね・・・。

90Dからどんなふうにリプレースしようかな。
SD-WAN機能とかいろいろ組み込みたいなぁ。

以下FortiGuardの画面。

ちょっと気になったのですが、FortiCareのところっていつも「Confidential」だったと思うんですが、今回は一次代理店さんのメールアドレスが入ってますね。

正直一次代理店で働いたことないのでここの仕組みはよくわかっていません。。。

 

以前購入した90D(というか今まで買ったFortiGateすべて)はこんな感じです。

年末年始リプレース楽しみだー!

ではでは。またの機会に。

 

VMware vSphere Hypervisor (ESXi) 6.7U3b

ども。こんばんは。

久々にアップデートしました。

6.5からのアップデートで6.7.0 Update 3 (Build 15160138)にしました。

直前のバージョンアップ:vSphere 6.5/ReadyNAS 6.6.0/QNAP 4.2.2 build 20161214

「評価版および無償製品」だと、一個古いビルドしかなかったので以下の製品版ページから最新ビルドをダウンロードしました。

https://my.vmware.com/jp/group/vmware/info?slug=datacenter_cloud_infrastructure/vmware_vsphere/6_7

いい加減、CD(DVD)ブート以外のアップデート方法も試そうかと思いつつ、毎度おなじみDVDブートです。

お、ついに死の宣告が。。。

このサーバで使ってるXeon E3 1280が将来サポートされなくなるよ、とのこと。

今回は事前に互換性は確認してたのですが、警告が出るとは。。。

VMware Compatibility Guide

意外とサクッとあがりました。

まだ新NASに仮想マシンを全然移してないので年末年始に頑張って移動しないと・・・。

ではでは。またの機会に。