それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

pip インストールを自動でやる。

pip を自動で実行すると Yes / No を聞かれる

DockerileでCOPYしたシェルスクリプトからpip をインストールしてたら、割とめんどくさい事になった。

Proceed (y/n)? Exception:
Traceback (most recent call last):
(
    return ask('Proceed (y/n)? ', ('y', 'n')) == 'y'
    response = input(message)
EOFError: EOF when reading a line

対策 : install 時は

yes | pip install package-name

対策: uninstall は

pip uninstall --yes package-name

これ、揺れてるんですね。めんどくさいのではないか。

参考資料

https://stackoverflow.com/questions/4536103/how-can-i-upgrade-specific-packages-using-pip-and-a-requirements-file

lvm でディスクのサイズをパパッと変更するコマンド

lv で管理しているボリュームのサイズは簡単に増減できるんですね。

ディスクのサイズを増やすとき

sudo lvextend --resizefs --size +10G /dev/mapper/my-root

ディスクのサイズを減らすとき

sudo lvreduce --resizefs --size -10G /dev/mapper/my-root

resizefs

オプションにresizefs をつけるとLVMのディスクのファイルシステムのフォーマットにあわせて、増減してくれる。わーい。

便利

2018-06-18 アレコレ試した感じだと、マウントしたままでも行けるっぽい。LVMに依る管理は完成してるな。

lvm でオンラインリサイズできたのか

ディスクのボリュームを動的に変更する。

ハードディスクやSSDのサイズを動的に変えるには、いちいちリカバリーモードで起動するとか、ReadOnlyで起動するとか、ライブCDで起動するかそういう事が必要だと思ってた。

むしろ思い込んでいた。

LVMでリサイズして遊んでて、あれ、もしかしてマウントしたままリサイズできるんじゃね?とおもって試してた。

/ root をマウントした状態でリサイズを命令しったった

まいかい、mount を外してたけど、あそんでてコマンドミスって、あ、、、やらかしたともったら、そのままリサイズされて完了した。

takuya@:/$ sudo lvextend --resizefs --size +10G /dev/mapper/my-root
  Size of logical volume my/root changed from 40.00 GiB (10240 extents) to 50.00 GiB (12800 extents).
  Logical volume my/root successfully resized.
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/mapper/my-root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/mapper/my-root is now 13107200 (4k) blocks long.

え、うそ。実行完了されちゃった。 VGには100GBほど空き容量がある状態です。10GBは確保できるのですが、実行できるんだ。。。

結果を見てみる。

あ、、、ほんとに増えてる。

takuya@:/$ df -h
ファイルシス           サイズ  使用  残り 使用% マウント位置
/dev/mapper/my-root     50G   17G   31G   35% /

LVS のビフォー・アフターも比較してみる。

ビフォーアフターの状態がこれ。

before

takuya@:~$ sudo lvs
  LV    VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  my -wi-ao---- 40.00g

after

takuya@:/$ sudo lvs
  LV    VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  my -wi-ao---- 50.00g

もうLVMでいいじゃん。

ファイルシステムやmapperにはアレコレあるけど容量の管理は もうLVM で十分な気がしました

参考資料