FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

AWSのPythonインタフェースboto3を使用してEC2インスタンスにジョブを流し込む (3. NVMeを接続した場合の状態を観測する)

f:id:msyksphinz:20190818215623p:plain:w400

EC2インスタンスにジョブを流し込む方式について調査している。boto3を使って任意のインスタンスにディスクをアタッチ・デタッチすることはできるようになった。 これを使って巨大なジョブを流すテストを行っている。

その際、どうも不可思議な状況に出くわした。m5a.4xlargeを使っているとディスクがmountできない問題がある。

    command_list = ['sudo mount /dev/xvdb /home/ssm-user/work/']
    execute_command_list(target_instance_id, command_list)

もう一度lsblkを実行してみると以下のようになった。

$ lsblk -i
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0         7:0    0 89.1M  1 loop /snap/core/8268
loop1         7:1    0   18M  1 loop /snap/amazon-ssm-agent/1480
nvme0n1     259:0    0    8G  0 disk
`-nvme0n1p1 259:1    0    8G  0 part /

NVMeが接続されているっぽい?なんでだ?m5a.4xlargeはEBSだけのはずなのに。

接続するデバイスを変えてみる。

    actual_device_id = '/dev/xvdb'
    if instance_type != 't1.micro':
        actual_device_id = '/dev/nvme1n1'

    command_list = ['sudo mount ' + actual_device_id + ' /home/ssm-user/work/']
    execute_command_list(target_instance_id, command_list)

再度試行してみると上手く行った。