OpenStack上の仮想インスタンスを物理サーバ間移動(マイグレーション)させる手法について

2022/04/20追記

このページに記載しているのはOpenStack Pike(16番目のリリース)ぐらいまでの話です。

それ以降のOpenStackについては関わっていないので不明です。


OpenStackで仮想インスタンスを動かしている場合に、物理サーバ間を移動させる手法について、いまいちまとまっているものがなかったので、メモ。

・物理サーバを指定して仮想インスタンスを起動

→ 不可能

アベイラビリティーゾーン(availability-zone)というサーバをまとめたグループ(雑な表現)を指定して起動することまでしかできない

・仮想インスタンスを稼働中に物理サーバを移動させる

→ 可能

例えば起動ディスクを含めcinderボリュームを使っている場合、下記コマンドで実施できる

# openstack server migrate --live 移動先ComputeNode --block-migration 仮想インスタンスUUID --wait

なぜか「migrate」と「migration」の2つの単語が混じっている、という不親切なつくりなので、惑わされないこと。

上記だと、移動が終わるまでコマンドが終了しない。「–wait」を抜いた場合、下記の様な形でマイグレーションの進捗状況を確認することが出来る

# openstack server migrate --live 移動先ComputeNode --block-migration 仮想インスタンスUUID
# nova server-migration-list
# nova server-mgirationshow 仮想インスタンスUUID マイグレーション番号

「openstack sevrer show 仮想インスタンスUUID」では進捗のパーセンテージのみ確認可能。

それに対して、「nova server-mgirationshow 仮想インスタンスUUID マイグレーション番号」では、全体で何バイト転送する必要があり、現在何バイト転送が終了しているか、といった詳細を確認することができる。

参考資料
 nova Migrate instances
 nova Live-migrate instances

・止まってる物理サーバ上にあった仮想インスタンスを他の物理サーバで起動させる

→ nova evacuateコマンドで可能

# nova evacuate 仮想インスタンスUUID 移動先ComputeNode

nova evacuateは、元々起動していた物理サーバ上の「nova-compute」と通信が取れない場合に実行できる。

nova-computeと通信が取れる状態だとエラーになる・・・無理矢理実行したいのであれば、該当サーバ上のnova-computeを落とせばできなくもない。

参考資料
 nova Evacuate instances
 nova Recover from a failed compute node

・ERRORステータスになっててmigrateが出来ない

「nova reset-state 仮想インスタンスUUID」を実行することで、ステータスがリセットできる。

参考資料
 nova Troubleshoot Compute

HUION GT-156HD v2をUbuntu 17.10に繋いでみた際のデバイス認識状況

HUION GT-156HD v2をUbuntu 17.10マシンに繋いだ時に、どう認識されるかを確認してみた。

ただし、Linux上でちゃんとタブレットとして認識したわけではないです。

lshwの実行結果から抜粋

                    *-usb:1
                         詳細: USBハブ
                         製品: USB2.0Hub
                         ベンダー: Alcor Micro Corp.
                         物理ID: 2
                         バス情報: usb@1:1.2.2
                         バージョン: 1.00
                         性能: usb-2.00
                         設定: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
                       *-usb:0
                            詳細: マウス
                            製品: Tablet Monitor
                            物理ID: 1
                            バス情報: usb@1:1.2.2.1
                            バージョン: 0.00
                            性能: usb-1.10
                            設定: driver=usbhid maxpower=100mA speed=12Mbit/s
                       *-usb:1
                            詳細: マスストレージデバイス
                            製品: Mass Storage Device
                            ベンダー: Generic
                            物理ID: 4
                            バス情報: usb@1:1.2.2.4
                            論理名: scsi0
                            バージョン: 1.00
                            シリアル: 058F0O1111B1
                            性能: usb-2.00 scsi emulated scsi-host
                            設定: driver=usb-storage maxpower=100mA speed=480Mbit/s
                          *-disk
                               詳細: SCSI Disk
                               製品: Flash Reader
                               ベンダー: Multi
                               物理ID: 0.0.0
                               バス情報: scsi@0:0.0.0
                               論理名: /dev/sda
                               バージョン: 1.00
                               性能: removable
                               設定: logicalsectorsize=512 sectorsize=512
                             *-medium
                                  物理ID: 0
                                  論理名: /dev/sda

lsusbの実行結果から抜粋

Bus 001 Device 013: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 012: ID 256c:006e
Bus 001 Device 011: ID 058f:6254 Alcor Micro Corp. USB Hub

lsusb -vの実行結果から抜粋

Bus 001 Device 013: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x058f Alcor Micro Corp.
  idProduct          0x6366 Multi Flash Reader
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 Mass Storage Device
  iSerial                 3 058F0O1111B1
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 012: ID 256c:006e
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x256c
  idProduct          0x006e
  bcdDevice            0.00
  iManufacturer           5 (error)
  iProduct                6 Tablet Monitor
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      18
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               2
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      83
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               2
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 011: ID 058f:6254 Alcor Micro Corp. USB Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x058f Alcor Micro Corp.
  idProduct          0x6254 USB Hub
  bcdDevice            1.00
  iManufacturer           0
  iProduct                1 USB2.0Hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x0080
    Ganged power switching
    Ganged overcurrent protection
    TT think time 8 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0503 highspeed power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

RHEL7でpam_tally2が使えるのか?

RedHat Enterprise Linuxでパスワードを複数回間違えたらロックをかける、ということをさせる場合、RHEL5,RHEL6の情報だとpam_tally2を使う、というのが出てくる。
RHEL7だとpam_faillockを使う、という話も出てくる。

サポートサイト情報「How to lock out a user to login a system after a set number of failed attempts in Red Hat Enterprise Linux using pam_tally/pam_tally2
RHEL7の関連ドキュメント「第4章 ツールとサービスを使用したシステム強化

でも、RHEL7にはpam_tally2も入っていて使えそうな感じがする・・・

使えるのかなぁ?と思って試したところ、とりあえずつかえはしました。
ただ・・・こういう動作は普通なんだろうか?という動きをしているところがいくつか・・・

  • pam_tally2のFailuresカウントはpam_tally2 -rでリセットするか、該当ユーザがログインに成功するかでカウントが0になる
  • unlock_timeを過ぎてもpam_tally2のFailuresカウントは自動リセットされず継続する
  • 「passwd -S ユーザ」でロックされているかの確認ができない

なお、「passwd -S ユーザ」によるロック状態のチェックは、pam_faillockを使った場合でも使えません。

実際の動作について

とりあえず、pam_tally2設定を行い、パスワード入力を規定回数以上間違えます。

このようなpam_tally2によりロックされている場合、コンソールログインをしようとすると下記のような表示となります。

ホスト名 login: <ユーザ名>
Account locked due to <カウント> failed logins
Password:

システムのログとしては /var/log/secure に対して下記のような出力があります。

Nov 22 18:35:21 linuxtest <authpriv.notice> login:pam_tally2(login:auth): user <ユーザ名>(<UID>) tally 7, deny 5

ここで、さらに間違うとカウントは増加していきます。

unlock_timeが設定されている場合、 unlock_timeの時間が経過した後、1回目の試行でログインに成功すると、カウントが0に戻ります。

しかし、ここでさらにパスワードを間違えてしまうと、 前回のFailuresカウントがリセットされず、カウントが継続して増えていきます。
そして、失敗回数超過がすぐに適用されてしまうため、再度ロックされてしまいます。

Intel Airmontアーキテクチャの中華SoC Spreadtrum SC9853i搭載のスマホLEAGOO T5cが$129.99で販売開始

中華スマホメーカのLEAGOOから、LEAGOO T5cという新機種が出ました。
製品ページ
プレスリリース
LAEGOO T5cの販売リンク。現在$129.99で販売中。Gearbestだと14640円
LEAGOO T5c 予約キャンペーン

既存のMediaTek SoC MT6750搭載のLEAGOO T5バージョンアップ機という位置づけなのですが、Intel AirmontアーキテクチャのSpreadtrum SC9853iを使っているという点が特異的です。
なにせ、スマホでの初採用機種です。
パーフォーマンスはMT6750より上だと称しています。

そして、Dual LTE対応である模様。

問題は・・・
・初物なのでできが不明
・Android 7.0ベースの「LEAGOO OS 2.1搭載」とうたっているため、Google CTS認証は通ってないのではないか・・・
というあたり

はたして、どの程度のものなのか???

DELL Venue 10 Pro 5055にUbuntu 17.10をインストールした

ワコムのAESペンを採用しているDELL Venue 10 Pro 5055にUbuntu 17.10をインストールしてみました。

1. 回転機能が働くので床に水平置きしてインストール実施
回転機能が働くものの向きが90度違うので、立てて置くとちゃんと使えません。
とりあえず、水平置きしておけば問題ないです。
インストール完了後は、GUI上にあるRotateアイコンをクリックして、回転禁止設定に変えましょう。

2. USB接続のNICを用意する
オンボードのWiFiは、そのままでは認識しないので、USB接続のNICを用意します。
USBキーボード/マウスをつなぎやすいようにUSBハブ付きのやつを買いました。

USB接続のWiFiは、失敗することが多いそうです。
実際、うちにある古いUSB WiFiを何種類か使ってみましたが、接続状況がいまいちで、インストール時には使えませんでした。

3. Ubuntu 17.10のデフォルトISOでは起動できない
DELL Venue 10 Pro 5055は、32bit UEFI採用のモデルなのですが、Ubuntu 17.10は、BIOSか64bit UEFIにのみ対応しています。
このため標準配布のISOイメージをやいたDVDでは起動できません。

ISOイメージをUSBメモリに書き込むツール(rufusとかLinuxLive USB Creator)を使って、USBメモリに書き込みます。
書き込み後、EFI/BOOTにbootia32.efiを配置します。
linux-asus-t100ta」にある「https://github.com/jfwells/linux-asus-t100ta/raw/master/boot/bootia32.efi」を使いました。

4. Ubuntu 17.10のインストールはLive モードで起動したあとの画面から行う
Ubuntu 17.10のデフォルトISOには、32bit UEFI採用モデルで起動する際に必要なパッケージ grub-efi-ia32が含まれていません。
このため、インストール中にネットワーク接続できる環境を用意する必要があります。

ネットワークがきちんと接続されていることを確認するために、Liveモードで起動します。
Firefoxが入っているので、起動してWebが開けるかを確認します。

5. インストール操作は普通に行う
インストール操作自体は普通のUbuntu 17.10インストールと同じです。
Windows10とのデュアルブートも可能でした。
エラーがでる場合は、おそらくネットワーク接続が不安定で、grub-efi-ia32パッケージがダウンロードできなかったことにより発生しています。

6. インストール後、brcmfmac43241b4-sdio.txtを配置すると内蔵WiFiが使える
DELL Venue 10 Pro 5055の内蔵WiFiは、内部的にはSDIO接続であるようです。
先ほども使用した「linux-asus-t100ta」から「https://github.com/jfwells/linux-asus-t100ta/raw/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txtをダウンロードして、/lib/firmware/brcm/brcmfmac43241b4-sdio.txtに配置します。
配置後、再起動すれば認識しています。


さて、ワコムのBamboo Inkを買っているので、ペンタブとしてどの程度動くのか確認

「設定」-「デバイス」-「ワコムタブレット」を開くと「スタイラスペンが見つかりません」という表示。
「設定を確認する」をクリックすると開く、ペンの動作確認をしてみると、ちゃんと筆圧動作はしていました。
しかし、ペンを動かすと追従がちょっとイマイチ・・・
丸く描いているのにカクカクで認識されてしまいます。
「xsetwacom –list」で認識されているワコムタブを確認してみたのですが、表示されません。
wacomドライバは読み込んでるようなんですけどね。

# xsetwacom --list
# lsmod|grep wa
wacom                 102400  0
hid                   118784  4 i2c_hid,hid_generic,usbhid,wacom
#

とりあえず下記を参考にしつつ調査中です
Linux Mint sarah (ubuntu16.04)ワコム ペンタブレット Intuos Draw 使ってみた&設定
Xsetwacomの解説
ArchLinux Wacomタブレット