LVMにディスクを追加するメモ

AWS EC2にたててあるメイン鯖は少しずつ容量を追加できるようにストレージをLVMで構成してあるんだが、新しいEBSボリュームを追加したときのコマンドをよく忘れるのでメモ。
環境 CentOS7/ファイルシステムは xfs

  1. pvcreate <新規デバイス>
    • <新規デバイス>は AWSのWebコンソールからAttachした時のマウント先が /dev/sdf なら /dev/xvdf になる(dmesg コマンドで確認すること)
  2. pvdisplay <新規デバイス>
    • 1. で Physical Volume として追加した<新規デバイス>が含まれていることを確認
  3. vgextend <ボリュームグループ名> <新規デバイス>
  4. vgdisplay -v <ボリュームグループ名>
    • 3. で新たに Volume Group に追加した<新規デバイス>が Physical volumes に表示されていることを確認
  5. lvextend -l +100%FREE <容量を追加する論理ボリューム>
    • 4. で拡張された Volume Group 容量の拡張された分(未割当分)を全て<容量を追加する論理ボリューム>に割り当てる
  6. xfs_growfs <マウントポイント>
    • ファイルシステム上も拡張しないと増えた分が使えないので・・・
    • CentOS6 など ext4 とかを使用している時はコマンドが異なるので注意
  7. df -h
    • 想定通りに使用可能容量が増えていることを確認

Mastodon API の叩き方メモ

【野球バカ28号(仮)】のbot開発時にやったことのメモ
とりあえず curl で Mastodon の API を叩くまで ( mstdn.example.jp の部分は利用するインスタンスに置き換えてね!)

  1. アプリケーション登録(クライアントIDとシークレットの取得) (最初に一度のみ実行)
    • curl -X POST 'https://mstdn.example.jp/api/v1/apps' --data 'client_name=<アプリケーション名>&redirect_uris=<リダイレクト先>&scopes=<スコープ>
      • <アプリケーション名> – 半角英数字で適宜設定する.なお、同一インスタンス内でも重複可能な模様
      • <リダイレクト先> – 特に必要がない場合は urn:ietf:wg:oauth:2.0:oob を設定すること
      • <スコープ> – アクセス権の設定. read,write,follow の3つから「利用する可能性があるものすべて」を指定すること.スペース区切りで複数設定可能.各スコープの機能はここ参照.アクセストークン取得時(後述)にもスコープの設定をするが、ここで設定したもののみしか利用できないので注意。
    • クライアントID」および「クライアントシークレット」が返ってくるので、必ず保存しておくこと!後述のアクセストークンとは違い、ここで取得したものを何度も利用するので!!
  2. アクセストークンの取得 (APIアクセスごとに実行)
    • curl -X POST -d "client_id=<クライアントID>&client_secret=<クライアントシークレット>&grant_type=password&username=<メールアドレス>&password=<パスワード>&scope=<スコープ>" -Ss https://mstdn.example.jp/oauth/token
      • <クライアントID>,<クライアントシークレット> – 上記1.で取得したものをそのまま使用する.
      • <メールアドレス>,<パスワード> – 利用したいユーザのメールアドレス(ユーザ名ではない)およびパスワードを指定する
      • <スコープ> – 上記 1. と同じ ただしこちらはアプリケーション登録時に指定したものの中から1つのみしか指定できない
    • アクセストークン」がサーバから返ってくる。
  3. API を叩く (例として「新規toot投稿」の場合を示す)
    • curl --header "Authorization: Bearer <アクセストークン>" -X POST -d 'status=<toot内容>&visibility=<公開範囲>' -sS https://mstdn.example.jp/api/v1/statuses
      • HTTPヘッダとして Authorization: Bearer <アクセストークン> を付加する。

その他のAPIも同様の手順でアクセスできるはず・・・。