OCI上の仮想マシンでデフォルトのブートディスクサイズ(LVM)の拡張を行った

OCI上の仮想マシンでデフォルトのブートディスクサイズ(LVM)の拡張を行った

OCI( Oracle Cloud Infrastructure )のコンピュート・インスタンスサービスを用いて仮想マシンを作成してみた。デフォルトの仮想マシンのブートディスクでは3.5GB程度しか使えておらず、空き容量を全て使うために拡張をしたときの備忘録。

OCI上のコンピュート・インスタンスでOSイメージにはRocky Linux 8を選択して構築してみた。初期状態では次のようにディスク容量を全て割り当てられていなかったため最初にディスクの拡張を行った。

$ lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda              8:0    0 46.6G  0 disk
├─sda1           8:1    0  512M  0 part /boot/efi
├─sda2           8:2    0    1G  0 part /boot
└─sda3           8:3    0  3.5G  0 part
  └─rocky-root 253:0    0  3.5G  0 lvm  /

上記のように、ブート・ディスクサイズは全体で46.6GBであるのに、実際に使用しているのは4GBしかないことが分かる。

パーティションの拡張

まずは、パーティションの拡張を行う。パーティションの拡張には、growpartコマンドを用いるが、このコマンドはgdiskパッケージに含まれているためダウンロードする。

growpartコマンドは第一引数にデバイス、第二引数にパーティション番号を与える。例えば、上の例のように/dev/sda3パーティションの拡張を行いたい場合には、growpart /dev/sda 3のようにする。

$ sudo dnf -y install gdisk
$ sudo growpart /dev/sda 3
CHANGED: partition=3 start=3147776 old: size=7335936 end=10483712 new: size=94529503 end=97677279
$ lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda              8:0    0 46.6G  0 disk
├─sda1           8:1    0  512M  0 part /boot/efi
├─sda2           8:2    0    1G  0 part /boot
└─sda3           8:3    0 45.1G  0 part
  └─rocky-root 253:0    0  3.5G  0 lvm  /

パーティションが45.1GBまで拡張できた。

PV(=Physical Volume)の拡張

LVMを用いているため、最初にPVの拡張を行う。

$ sudo pvresize /dev/sda3
Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
$ pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               rocky
  PV Size               45.07 GiB / not usable 3.98 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              11538
  Free PE               10643
  Allocated PE          895
  PV UUID               jJWtH3-VrSH-fOMl-Bpas-fVKU-Q9Tm-xcuExo
$ vgdisplay
  --- Volume group ---
  VG Name               rocky
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               45.07 GiB
  PE Size               4.00 MiB
  Total PE              11538
  Alloc PE / Size       895 / <3.50 GiB
  Free  PE / Size       10643 / 41.57 GiB
  VG UUID               UMgVNC-vZY7-OObj-HlES-pKAE-Scoi-dqYZ5d

LV(=Logical Volume)の拡張

PV, VGの拡張ができたので、最後にLVの拡張を行う。

$ sudo lvextend -l 100%FREE /dev/mapper/rocky-root
  Size of logical volume rocky/root changed from <3.50 GiB (895 extents) to 41.57 GiB (10643 extents).
  Logical volume rocky/root successfully resized.
$ lvdisplay
  --- Logical volume ---
  LV Path                /dev/rocky/root
  LV Name                root
  VG Name                rocky
  LV UUID                YgmRay-AORt-Vo1U-KeOx-bNHr-FfHV-ftKDMW
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-09-11 23:35:34 +0000
  LV Status              available
  # open                 1
  LV Size                41.57 GiB
  Current LE             10643
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

最後にrebootする。

$ sudo reboot

確認

$ df -h
Filesystem              Size  Used Avail Use% Mounted on
devtmpfs                1.8G     0  1.8G   0% /dev
tmpfs                   1.8G     0  1.8G   0% /dev/shm
tmpfs                   1.8G   17M  1.8G   1% /run
tmpfs                   1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/mapper/rocky-root   42G  2.7G   39G   7% /
/dev/sda2              1014M  223M  792M  22% /boot
/dev/sda1               511M  5.8M  506M   2% /boot/efi
tmpfs                   362M     0  362M   0% /run/user/1000

参考文献リスト

インデックス投資のすゝめ

敗者のゲームからの引用。基本的には、「アクティブ運用は市場平均であるパッシブ運用には勝てない」ことを繰り返し説明している。

* チャールズ・エリス(著) 敗者のゲーム[原著第8版]

敗者のゲーム

資産運用は「敗者のゲーム」

機関投資家の運用成果を測定している会社から送られるデータは、運用機関の成績が期待外れなことを示している。実績を見る限り、ほとんどの投資信託、年金や財団など機関投資家も市場には勝っていない。市場平均を上回るような成果は時折見られるが、長続きはしていない。「市場平均を上回る」という目標に反して、アメリカのプロの運用期間は全体として市場平均に負けている。

機関投資家の大多数が市場平均より高い成果をあげられる、と言う前提は正しくない。なぜなら機関投資家そのものが市場なのだから、機関投資家全体としては、自分自身に打ち勝つことはできないのだ。機関投資家は、取引所取引の95%を占める。取引所外やデリバティブではその比率はさらに高い。運用機関の数が膨大で、能力も高く、顧客のために質の高いサービスを提供するからこそ、資産運用が敗者のゲームとなった。

資産運用は、根本的に「敗者のゲーム」となってきている。すなわち、相手の95%が機関投資家である限り、勝つためのゲームをするのではなく、「負けを減らした方が勝者」となるゲームである。

私たち個人投資家の売買相手とは、圧倒的な情報・知識・経験を備えた大機関投資家だということを忘れてはならない。

短期的にはマーケットに「勝つ」ことのできる投資信託はあっても、長期にわたって市場平均以上の成績を出せる投資信託は極めて限られている。そして、これまでにそうしたファンドを事前に見分ける方法を見出した者はいない。

難しいことが重要なこと?

資産運用において、難しいことが重要なことではない。医学において、手を洗うことは、ペニシリンに次いで命を救う方法だった。幸いなことに資産運用において最も付加価値の高い仕事は、最も容易なこと - 投資の基本アドバイスだ。

投資とはそもそもネガティブサム・ゲーム

売り手と買い手の損益を合計すれば、手数料分やマーケットインパクトなどを考慮すれば、全体としてはマイナスとなるマイナスサムゲームである。そして、このコスト部分は市場全体では毎年年数千億ドルにも達する。つまるところ、アクティブ運用とは全体としては大幅にマイナスとなるゲームである。

理論的に可能であることと実践は異なる

「適切な時に、適切な場所にいて、適切なものをつかむ」といった投資アプローチは、確かに大きな可能性に満ちていて魅力的に見える。運用期間には常に挑戦の気持ちを起こさせる。プロは絶えず、市場の変化に合わせて新しい(多くはまだ知られていない)運用方法を発見しようと努力している。そして、新しい方法が有効とわかれば、それまでの方法に取って代わる。

もちろん、こうしたことは理論上は可能である。しかし、実際にうまくいくだろうか?

どの運用期間が、どれほど長い間うまく運用できるというのか?実績を見る限り、結果ははかばかしくない。特に個人投資家の場合、事前に市場に勝てるファンドを見つけることは明らかに不可能だ。

明らかに言えることは、超長期にわたって通用する投資哲学など、ほとんど発見されなかったということだ。おそらくその原因は、自由な資本主義市場においては、比較優位を確立する機会を得たとしてもそれを長期間にわたって持続させるのはほぼ不可能ということだろう。優れたアイデアという商品の市場は最も効率的なのだ。噂はあっという間に広がってしまう。

長期的に成功するには、「ミスを減らすこと」

長期的に成功するただ一つの方法は「ミスを減らすこと」だ。これは、ゴルフやテニスの例を見れば分かる。一生懸命やればそれだけリターンが増えるというわけではないし、リターンを増やそうとしてより高いリスクを取れば危険性もそれだけ高まる。

これと反対の意味で投資家が犯すミスは、慎重になりすぎることである。短期の下げに慌てて長期的な運用目的を忘れてしまうことだ。

仮にあなたが個人としては平均以上の投資家だとしても、市場平均以下の投資をしている可能性が高い。市場は機関投資家が支配しているからだ。統計を見れば明らかだろう。

第一に認識すべきは、投資における成功は投資家自身の知識や能力そのものではなく、一つ一つの取引をどれだけの知識と能力を持って処理できるかにかかっているということだ。

第二に、ニューヨーク株式市場における取引の75%はトップ100社の機関投資家によって行われている。現実問題として、個人投資家の取引のほとんどは大機関投資家には及ばない。このトップ100社に勝つのは至難の業だ。とすれば、最も有能な個人投資家でも、実績は最下位に近いだろう。

ミスター・マーケットとミスター・バリュー

ベンジャミン・グレアムの古典的名著『懸命なる投資家』によれば、ミスター・マーケットは精神的に不安定で、感情的な行動を取りがちだ。彼は何とかして自分のその時の気分に私たちを引きずり込み、売買をさせようとする。なるべく多くの取引をさせるために、頻繁に、時には激しく価格を変える。

対して、ミスターバリューは表情一つ変えない。彼の暮らす世界には感情や幻想の介入する余地はない。彼は夜も寝ずに財やサービスを生産し、分配し続ける。楽しい仕事ではないが、経済そのものを動かしている。

長期的には、ミスター・バリューはミスター・マーケットに必ず勝つ。ミスター・マーケットのどんな悪戯もそう長くは続かない。ミスター・マーケットが楽観的な時も悲観的な時も実体経済においては財やサービスは普段通り生産され流通する。

長期投資で成功するには、ミスター・マーケットに惑わされずに、しっかりと自分の投資政策を堅持しなければならない。

Benjamin Graham

投資はエンターテインメントか

投資は娯楽ではない。責任である。投資は本来「エキサイティング」なものではない。むしろ原油の精製やICの製造過程のようにじっくり腰を据えて取り組むべき作業だ。

投資で成功する上での最大の課題は、頭を使うことではなく、感情をコントロールすることである。常に最大の目的を忘れず、落ち着いて、忍耐強く守備一貫して行動することが必要だ。だから、「己自身を知れ」ということが、投資における鉄則となる。

リターンかリスクか

ほとんどの投資家、運用期間、そして運用の広告は、リターンという投資の一面しか見ていない。長期的な運用の成功のためには、リスクの方がより重要だ。特に、取り返しのつかない大損害を被るリスク。

人間は決して合理的な動物ではない。そして、しばしば大きく判断を間違える。投資とて例外ではない。人間は得てして無意識に行動してしまう。だからこそ、日常のチェックリストを用意する必要がある。

長期投資に成功するには

長期投資に成功するためにやるべきことは限られている。

① ミスター・マーケットの仲間達を無視すること

まず第一は、ミスター・マーケットの仲間達、証券会社や投資信託から送られてくる膨大な宣伝広告、ファンドの運用成績、市場見通しの類を一切無視することだ。

② 長期的に最も可能性の高い運用基本方針を策定すること

第二に、長期的に最も可能性の高い運用基本方針を策定することだ。成功するかどうかは、他人との比較で決まるのではない。自分自身との戦いだ。ミスター・マーケットの妨害に屈しないで、自らの任務を遂行することができるかどうかである。

Tie Me Down

Tie Me Down

引用:

Don't lie, I know you've been thinking it

And two times, you let it slip from your lips

You've got too much pride to make any promises

Thinking that we got time, and you want to keep it in

I want you out in the pouring rain

I want you down on your knees

Prayin' to God that I feel the same

I'm right here, baby, so please

Hold me up, tie me down

'Cause I never wanna leave your side

Swear to never let you down

And it's been eatin' me alive

You can take me home

You can never let me go

Hold me up, hold me up

And tie me, tie me down, down (down)

And tie me, tie me down, down

And tie me, tie me down, down (down)

And tie me, tie me down, down

Nine lives until you fall at my feet

Don't hide, you're wasting your energy

You're not shy, so baby, it's useless

So don't try, 'cause you'll end up losin' it

I want you out in the pouring rain

I want you down on your knees

Prayin' to God that I feel the same

I'm right here, baby, so please

Hold me up, tie me down

'Cause I never wanna leave your side

Swear to never let you down

And it's been eatin' me alive

You can take me home

You can never let me go

Hold me up, hold me up

And tie me, tie me down, down (down)

And tie me, tie me down, down

And tie me, tie me down, down (down)

And tie me, tie me down, down

So wrap your arms around my chest

And I'll put my hands around your neck

'Cause nobody wins these waiting games

You push and you pull, but you should stay

Stay

Hold me up, tie me down

'Cause I never wanna leave your side

Swear to never let you down (never let you down)

And it's been eatin' me alive (oh)

You can take me home

You can never let me go (never let me go)

Hold me up, hold me up

And tie me, tie me down, down (down)

And tie me, tie me down, down

And tie me, tie me down, down (down)

And tie me, tie me down, down

Down, down

UFOに関する記事

2023年9月2日(土)の産経新聞の記事の中で面白い記事があった。

国防総省がUFOに関する公開情報をウェブサイトに公開したと言うものだ。また、UFOに限らず、UAP(未確認空中現象)の資料なども公開されている。一般公開されているURLは以下である。

ALL-DOMAIN-ANOMALY-RESOLUTION-OFFICE
ALL-DOMAIN-ANOMALY-RESOLUTION-OFFICE

国防総省がUAP調査のために昨年設置した全領域異常対策室(AARO)の取り組みやUFOなどの情報が公開されている。

既に公開されている資料によると、日本周辺の東アジアもUAPの報告が多い地域となっている。

米下院監視・説明責任委員会の国家安全保障小委員会は7月にUFOに関する公聴会を開催。米情報機関でUAPの分析に携わった人物や海軍の元パイロットら3人が商人として出席し、政府機関が情報を議会や国民の目から隠蔽していると批判していた。

引用

トレード・投資における弱点・盲点

トレード・投資における弱点・盲点

自分にとっての弱点をまとめた。これらを改善できればトレードのパフォーマンスは自ずと上がってくると思われる。

損切りが早すぎる

大きな損失を出してしまった経験から、その恐怖の経験から回避しようとして損切りが早すぎる。一回一回の負けは小さいが、繰り返していく結果、累計損失が嵩む。

「入口」と「出口」はセットで考える。エントリーポイントは過去の値動きから決定されることが多いが、エグジットポイントについてよく考えているだろうか。自分に不利な値動きになった際にどのようにするべきか。こういった戦略を一回一回考えること。

例えば、ナンピンナンピンについても、スワップポイントや配当などのキャピタルゲインがあるもの、基本的にトレンドに準じているものなどであれば、巷で言われているほど悪い戦略ではない。ナンピンするためには最初から全力で入ろうとせず、ポジションを分割するなどの工夫が必要になる。

もしくは、多少の含み損を許容すること。どこまで含み損を許容できるかは毎回異なることなのでなんとも言えないが、大きな流れに準じていればプライスは基本的に戻ってくるものである。「戻ってこないと困る」場合には、取引数量が多過ぎるせいだろう。

リベンジトレード

細かく損切りしてから自分の思った方向に進む、結果として損切りしなければ良かったと後悔する、リベンジトレードでさらに損失を重ねるなどをしてしまう。一言で言うと損切りが下手くそなのだ。撤退のタイミングを見誤ってはならない。

高すぎるレバレッジ

レバレッジを高く設定し過ぎるため、一回の負けで許容できないリスクをとってしまう。「早くお金持ちになりたい」という焦燥、願望、傲慢がある。少しだけ良いワインを飲むためにトレードしていると考えればそこまでリスクを取らずに済む。

入金を繰り返す

繰り返すべきは出金であり、細かく入金を繰り返すとトータルでみた時の損失額が増えてしまう。

certbot renewが失敗していた時の対応

自身が公開している、Moodleサイトは、Let's Encryptによって証明書を作成しています。この証明書の更新には、certbot renewを用いている訳ですが、こちらが失敗しているらしく、メールが届いた時の対応をまとめました。

自身が公開しているサーバー(moodle.techru.jp)には、きちんとcertbot renewがsystemdのtimerとして登録されています。

$ sudo systemctl list-timers
NEXT                        LEFT          LAST                        PASSED       UNIT                         ACTIVATES                
Wed 2023-07-26 11:44:30 JST 4h 23min left Tue 2023-07-25 20:37:50 JST 10h ago      certbot-renew.timer          certbot-renew.service

ですが、certbot renewに失敗してもうすぐ証明書が切れるとのメール通知がきました。

Hello,

Your certificate (or certificates) for the names listed below will expire in 19 days (on 2023-08-13). Please make sure to renew your certificate before then, or visitors to your web site will encounter errors. ...

ジャーナルログを確認したところ、

 7月 25 06:21:29 moodle.techru.jp certbot[40705]: Renewing an existing certificate for moodle.techru.jp
 7月 25 06:21:29 moodle.techru.jp certbot[40705]: Failed to renew certificate moodle.techru.jp with error: Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.
 7月 25 06:21:29 moodle.techru.jp certbot[40705]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7月 25 06:21:29 moodle.techru.jp certbot[40705]: All renewals failed. The following certificates could not be renewed:
 7月 25 06:21:29 moodle.techru.jp certbot[40705]:   /etc/letsencrypt/live/moodle.techru.jp/fullchain.pem (failure)
 7月 25 06:21:29 moodle.techru.jp certbot[40705]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7月 25 06:21:29 moodle.techru.jp certbot[40705]: 1 renew failure(s), 0 parse failure(s)
 7月 25 06:21:29 moodle.techru.jp certbot[40705]: Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
 7月 25 06:21:29 moodle.techru.jp systemd[1]: certbot-renew.service: Main process exited, code=exited, status=1/FAILURE
 7月 25 06:21:29 moodle.techru.jp systemd[1]: certbot-renew.service: Failed with result 'exit-code'.

ありましたね。80番ポートが既にApacheによって使われてしまっているため、証明書の更新に失敗してしまっています。

80番ポートは443番にリダイレクトしているため、塞いでしまっても良いのですが・・・。

一応、80番ポートが使われていることの確認。

$ sudo lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd     866   root    4u  IPv6  20439      0t0  TCP *:http (LISTEN)
httpd   50362 apache    4u  IPv6  20439      0t0  TCP *:http (LISTEN)
httpd   50363 apache    4u  IPv6  20439      0t0  TCP *:http (LISTEN)
httpd   50364 apache    4u  IPv6  20439      0t0  TCP *:http (LISTEN)
httpd   50754 apache    4u  IPv6  20439      0t0  TCP *:http (LISTEN)

Apacheを落として、証明書の更新を行いました。

$ sudo systemctl stop httpd
$ sudo certbot renew
$ sudo systemctl start httpd

おまけ

証明書の有効期間を調べるには、次のコマンドを用います。

$ sudo certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: moodle.techru.jp
    Serial Number: 4ec3e6e423b560d704612354184d557c07b
    Key Type: ECDSA
    Domains: moodle.techru.jp
    Expiry Date: 2023-08-13 03:14:05+00:00 (VALID: 18 days)
    Certificate Path: /etc/letsencrypt/live/moodle.techru.jp/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/moodle.techru.jp/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

参考

Environment Modules

Abstract

Environment Modulesとは何かを一言で言うと、使うソフトウェア等のバージョンを切り替えるためのツール。gccのバージョンを切り替えるのに、PATHLD_LIBRARY_PATHなどの環境変数を都度編集して使用するのは面倒。ここで、Environment Modulesはソフトウェアのバージョン切替に必要な設定などを自動で行ってくれる。

Environment Modulesでは、例えば

$ module load gcc/XX

とするだけで、gccのバージョンXXを使うのに必要な環境変数が設定される。

コマンド 説明
module avail システムに用意されているモジュールの一覧を表示する
module load モジュールを現在の環境に組み込む
module list ロードされたモジュールの一覧を表示する
module unload ロード済みのモジュールを環境から外す

ログイン時の自動組み込み

ログイン時にモジュールが自動的に組み込まれるようにするには、.bashrcや.cshrcなどの環境設定ファイルを使用する。例えば、ログインシェルにbashを使用している場合は、ユーザーのホームディレクトリにある~/.bashrcファイルに以下のようにmoduleのロードコマンドを組み込む。

# if the module command is defined, $MODULEPATH will be set

if [ -n $MODULEPATH ]; then
    module load module_name
fi

設定例

こちらを参考にする:

Intel OneAPIでは、自動的にEnvironment Modulesのセットアップを行うスクリプトが用意されている為、こちらを使用する。

参考