IPv6のアドレスをわかりやすく

自動的に割り当てられるIPv6のアドレスって長いし覚えにくいですよね。あのIPv6のアドレスは前半64bitはプレフィックス、後半はホスト部になっていて、実はこのホスト部は任意に指定する事ができるようになっています。例えばDebian/Ubuntuの場合下記のように/etc/network/interfacesに記述すれば XXXX:XXXX;XXXX::1というようなアドレスが指定されます。

auto eth0
iface eth0 inet6 auto
   up ip token set ::1 dev eth0

ルーターでも同じような指定が可能です。例えばRTXシリーズの場合下記のような感じです。

ipv6 lan3 address ra-prefix@lan3::1/64

この例ではLAN3で取得したプレフィックスを使ってLAN3のアドレスをホスト部::1で設定しています。

更にNEC IX2015の場合は下記の通り。

interface FastEthernet0/0.0
  ipv6 interface-identifier 00:00:00:00:00:00:00:01

この場合::1というように省略はできないようです。

 

 

 

201711272021みたいな文字列の処理

pythonで201711272630(深夜1;30)みたいな日付・時間から始まるファイル名から日付・時刻を抽出。26時や27時という表記があるのでそれれを正す。という処理をしてみた。pythonは初めて書いたのでほとんどネットから見つけてコピペ。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import datetime
ls_file_name = os.listdir('/media/usb/files')

date_format = '%Y-%m-%d'

for f in ls_file_name:
    #2017|10|02|11|11
    #0123 45 67 89 01
    # 日付・日時の羅列を取り出す
    start = f[0:4]+'-'+f[4:6]+'-'+f[6:8]+' '+f[8:10]+':'+f[10:12]
    # 25時や26時といった表記があるのでそれを正す。
    if int(f[8:10]) > 23:
	 #日付の抽出
        start_date = f[0:4]+'-'+f[4:6]+'-'+f[6:8]
	 #日付の文字列を日付の型に直して1日加算
        tmp_date =  datetime.datetime.strptime( start_date , date_format)
        tmp_date += datetime.timedelta(days = +1)
        start = tmp_date.strftime(date_format)+' '+"{0:02d}".format(int(f[8:10])-24)+ ':' +f[10:12]

    #結果を表示
    print start

ファイル一覧の取得

os.listdirで取得が可能な模様。返り値はリストらしい。

ls_file_name = os.listdir('/media/usb/files')

日付の文字列を取得して1日加算

20171127形式の日付の文字列を日付型?にして+1日する。

date_format = '%Y-%m-%d'
start_date = f[0:4]+'-'+f[4:6]+'-'+f[6:8]
tmp_date =  datetime.datetime.strptime( start_date , date_format)
tmp_date += datetime.timedelta(days = +1)

 

 

ESXiで無理やりVMを自動起動

素直に自動起動を設定するでも良いのですが、DHCPサーバー等何があってもとにかく起動して欲しいVMがあったりするとコケると割と面倒くさい。そこでrc.localに記述して無理やり起動させる事にしました。あとついでにメンテナンスモードになってたらそれも同時に解除するコマンドも加えてます。今回は/etc/rc.local.d/local.shを編集しました。exit 0の手前くらいに追記すると良さそう? ちなみにrc.local.d以下に適当なファイルを作ってみたのですが再起動したらファイルごと消えてしまいました。新規ファイルはあまり作らない方がいいかもしれません。

# If in Maintenance mode, disable it
if [ "$(esxcli system maintenanceMode get )" = "Enabled" ];
then                                                       
    
        esxcli system maintenanceMode set --enable false
                                                        
fi
  
# VM turn on script
vm_turn_on () {    
               
        VM_NAME=$1
        VM_ID=$(vim-cmd vmsvc/getallvms | grep $VM_NAME | awk '{print $1}' )
                                                                            
        if [ "$( vim-cmd vmsvc/power.getstate $VM_ID | tail -n 1 )" != "Powered on" ];
        then                                                                          
            
                echo $VM_NAME is down. try turn on it.
                vim-cmd vmsvc/power.on $VM_ID         
                                             
        fi
          
}
 
vm_turn_on dhcp
vm_turn_on proxy    
vm_turn_on web
vm_turn_on mail  
vm_turn_on fs0

この例ではdhcp、proxy、web、mail、fs0というVMをとにかく起動させます。多分あまり推奨されない方法ですのであまり積極的にやらない方がいいかもしれません。というかやめときましょう。

VMware ESXiのアップデート

ESXi6.5 U1を適用するときのメモ。データストアの適当な場所にZIPを解凍せずにそのまま置いて、下記のコマンド。

esxcli software vib install -d "/vmfs/volumes/vmfs1/updates/update-from-esx
i6.5-6.5_update01.zip"

完了するとものすごーくいっぱいずらずら出てきます。最初エラーになったかと疑うレベル。時間は30分もかからなかったと思います。(ちゃんと見てなかった)

Chromeでエラーが頻発してたのですがU1を適用して無事解消しました。でもFIrefoxで何か怪しい気がする…。

データストア間の移動が遅い?

VMware ESXiのデータストア間でVMを移動していたのですが、なんか異様に遅い気がします。画像は100GBのVMを移動をしている所なのですが、30分で18%なのでまだ18GBしか終わっていません。計算してみると約10MB/s。100Mbps以下です。今は急がないので良いですが後で原因を調べた方が良さそうです…。

VMware ESXiで新規HDDの認識

VMware ESXiで新しくHDDを追加して、データストアに追加しようとすると、何故か一覧に出てこないという事が結構ありました。何となくパーテーションテーブルが残ってるとうまく行かないのかなと思っていたのでいつもゼロライトしてから接続していたのですが、実はそんな事をしなくてもデータストアに追加できる事に気づいたのでメモしておきます。

手順は簡単。①ストレージ、②デバイスの順にクリックしてきます。するとデバイスの一覧が出てきて今認識している物理デバイスが一覧されます。データストアに追加したいデバイスを③右クリックして「パーテーションテーブルをクリア」を選択します。後は画面に従っていけばVMFSでフォーマットされてデータストアに追加可能になります。

VMware ESXi 6.5でUSB-LANアダプタを使う

OLYMPUS DIGITAL CAMERA

VMware ESXiを使うとLANの口は2個欲しい所ですが、一般的なPCでは1個しかないのが一般的です。拡張カードスロットに空きがないと増設する事が難しく、USB-LANしか選択肢がなくなってきます。ESXiが持っているドライバにはUSB-LANはそもそも含まれていないのですが、下記サイトでAX88179用のUSB-LANのドライバが公開されており、そのチップを使ったUSB-LANは使う事ができたりします。今回はBUFFALOのLUA4-U3-AGTを使いました。

<省略・ドライバのインストール>

USB-LANを接続すると下記のように認識してくれます。

# esxcfg-nics -l
Name    PCI          Driver      Link Speed      Duplex MAC Address       MTU    Description                   
vmnic0  0000:0e:00.0 ne1000      Up   1000Mbps   Full   50:e5:49:24:da:13 1500   Intel Corporation 82574L Gigabit Network Connection
vusb0   Pseudo       ax88179_178aUp   1000Mbps   Full   84:af:ec:73:21:96 1500   Unknown Unknown

次にvSwitch0に追加します。

# esxcli network vswitch standard uplink add -u vusb0 -v vSwitch0

ちなみに削除する場合はaddをremoveに置き換えれば削除できます。

# esxcli network vswitch standard uplink remove -u vusb0 -v vSwitch0

ESXi上で認識している様子。vusb0として認識しています。

また、USB-LANはI-O DATAのものを持っていたのですが、残念ながら動作しませんでした。中身はASIX AX88178だったようです。ほんのちょっと違うと全然動かないんですねぇ…。

参考URL

  • http://www.virtuallyghetto.com/2016/11/usb-3-0-ethernet-adapter-nic-driver-for-esxi-6-5.html

今回はIO DATAの1GのUSBアダプタを為してみます。中身はASIX AX88178の模様。上のサイトのドライバはAX88179用なので使えるかどうか不安でしたが、問題はないようです。