10年
10年
現職になって本日でちょうど10年たちました。
10年。長いなぁ~。長い。
コンサルタントというノウハウを提供する仕事になってから、なんとなくブログが書きづらく(別に書いてはいけないということはないのですが)なかなかアウトプットできてはいないですが、今はJava以外にも、クラウドは当然ながらKuberntesやIstioなどコンテナ関連の知識もだいぶつきました。今でもマネージャ職にはならず、現役で技術やプログラムは大好きです。
転職する前ですね。30歳くらいかなぁ。人生のスケジュールを週1時間程度、考えていた時期がありました。人生で一生続けたいこと。それを達成するには何をすればよいのか。その時、思っていた現在の歳で達成する予定のスケジュール。なんとなく達成できているのかなぁという感じはしています。
その当時、定年後の予定も考えてはみたのですが、全然浮かびませんでした。なんというか現実味がないというか。そこから15年はたってますね。そろそろ定年後のイメージも具体的に考えられるような時期に来ているのかもしれません。人生のスケジュール。そろそろもう一度振り返ってみてもよいのかもしれません。
人生で一生続けたいこと。シンプルでたいしたことではないですよ。
1.家族を大切にする
2.健康に生きる
3.プログラミングする
でも、ずっと継続するのはなかなか大変だったりしますね。これからもずっとつづけられるように頑張ろうと思います。
2022年を振り返る
あけましておめでとうございます。最近は、なかなかブログもかけていないので、久しぶりに去年(2022年)の振り返りでもしようと思います。
技術的な話
Kubernetes, Istio, Verrazzano
去年は、Kubernetesをはじめとするコンテナ関連の技術に面と向かって取り組むことができました。今までは、なんとなく、基本的なところを抑えている部分が多かったですが、ちゃんと運用を踏まえた部分までしっかりと理解することができました。コンテナ技術は一般の企業でも普通に使う技術になってきたと感じます。コンテナ技術をただ使うだけではなく、なぜそれを使用するのかという背景をしっかりと抑えて利用することが重要だと実感しました。今年も引き続き継続して取り組んでいこうと思います。
買ったもの
コーヒー関連
ここ数年はリモート勤務の時間が長いので、自宅のQOLを向上させようと取り組みました。コーヒーは昔からずっと飲んでいるのですが、最近では、高性能手びきミルが安価で販売されているようで、自宅で手軽にきめのそろった豆を挽くことができます。私はタイムモアのC3 MAXとハリオ V60を購入して手軽に毎回、豆からコーヒーを飲むようにしました。今まではブレンド豆をメインに飲んでいましたが、単一産地のストレートを購入して地域ごとの豆の違いとか、香り高いゲイシャ種なども飲んでみてコーヒーの味の違いを理解することができました。最近では単一農園のスペシャルティコーヒーやアナエロビック・ファーメンテーションという特別な発酵処理を行ったコーヒーなども販売されているようなので、今年も引き続き飲み比べをしたいなと思います。
Amazon Echoシリーズ
アマゾンプライムデーに、今まで気になっていたAmazon EchoシリーズとSwitchBotを購入しました。SwitchBotで各部屋のエアコン、テレビ、電気を音声などで操作することができます。子供たちもあっという間に使いこなすようになり、いつもアレクサに「テレビをつけて」や「ただいま」などと話しかけています。ちょっとリモコンが遠いところにあるなみたいなときにその場で操作できるのでとても便利です。また、外出先から帰って来る時に、事前に部屋のエアコンをつけたりなどもできるようになりました。
ゲーム
アニメ
ワンピース
ワンピースが25年を迎えとても面白いと聞いて、久しぶりに電子版のジャンプを購入して読みました。ジャンプは30歳の時に読むのをやめたので15年ぶりです。まだワンピースが第一線で活躍しているのが驚きでもあり、とても面白かったです。これから最終章で25年で隠してきた謎を吐き出していくらしいので、今年以降もさらに楽しみです。あわせて映画も見に行きましたが、ワンピースの映画なのかAdoのライブなのかこちらもとても良い出来でよかったです。
ヒロアカ、スパイファミリー、チェーンソーマン
アマゾンプライムに入ったので、ヒロアカ、スパイファミリー、チェーンソーマンを見ました。さすがどれも人気アニメで面白かったです。
プライベート
家族
子供が3人いるのですが、長女が高校受験だったり、次男が小学校に入学したりとなかなか大変でした。自分のことはどうしても2の次になってしまいますね。教育費もなかなかかかるのでヒーヒーいいながら仕事を頑張っている次第です。
体調
もう45歳なので基本どこか痛かったり、100%元気な日のほうが少なくなってきました。健康診断でひっかかり、初めて大腸検査もやりました。リモート勤務であまり体も動かさなくなったので、数年前から自宅でちょいちょい筋トレをやっています。なにはともあれ健康が一番なので今年も大きい病気もなく過ごせると良いなと思います。
今年の抱負
今年の抱負とかは特にないです。またゆるりと1年、元気に頑張れたらと思っています。みなさんもよいお年を。
Virtualbox6.1のGuest AdditionsをOracle Linux 8.6にインストールする
VirtualboxのGuest Additionsをインストールしようとするといつも忘れるのでメモ
バージョンは以下
コツはインストール前にrootで以下を実施
$ dnf install perl make bzip2 gzip unzip kernel-uek-devel-$(uname -r) tar
上記を事前にインストールしておかないとGuest Additionsインストール時に「modprobe vboxguest failed」と表示されてエラーになる。
インストールしたら再起動してGuest Additionsをインストール
デバイスから「Guest Additions CDイメージの挿入」を選択してディスクをマウント

自動起動のダイアログが出るので「実行する」を選択

インストールには管理権限が必要なのでパスワード入力が表示されたら管理者パスワードを入力すると、コンソールが起動して無事Guest Additionsがインストールできる。
インストールが終わったらマウントしたCDイメージのアンマウントを忘れずに。
VirtualBox6.1上のOracleLinux8.4のディスクを拡張する
VirtualBox6.1上にインストールされたOracleLinux8.4のディスクを拡張した時のメモ。
バージョン
VirtualBox 6.1
OracleLinux 8.4
VirtualBoxの設定
・ファイル>仮想メディアマネージャ を選択
・追加したいディスクのプロパティ画面を表示して、ディスクのサイズを変更して適用
OracleLinuxの設定
・rootユーザでログイン
・現状のディスク確認
[root@oel7 ~]$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs 1.8G 9.3M 1.8G 1% /run tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup /dev/mapper/ol-root 17G 5.3G 12G 32% / /dev/sda1 1014M 367M 648M 37% /boot tmpfs 365M 4.6M 361M 2% /run/user/1000
・fdiskでパーティションを拡張
[root@localhost ~]# fdisk /dev/sda fdisk (util-linux 2.32.1) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 コマンド (m でヘルプ): p ディスク /dev/sda: 200 GiB, 214748364800 バイト, 419430400 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x3db55c14 デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM コマンド (m でヘルプ): n パーティションタイプ p 基本パーティション (2 プライマリ, 0 拡張, 2 空き) e 拡張領域 (論理パーティションが入ります) 選択 (既定値 p): 既定の回答 p であるものとみなします。 パーティション番号 (3,4, 既定値 3): 最初のセクタ (41943040-419430399, 既定値 41943040): 最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (41943040-419430399, 既定値 419430399): 新しいパーティション 3 をタイプ Linux、サイズ 180 GiB で作成しました。 コマンド (m でヘルプ): p ディスク /dev/sda: 200 GiB, 214748364800 バイト, 419430400 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x3db55c14 デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM /dev/sda3 41943040 419430399 377487360 180G 83 Linux コマンド (m でヘルプ): t パーティション番号 (1-3, 既定値 3): 16 進数コード (L で利用可能なコードを一覧表示します): 8e パーティションのタイプを 'Linux' から 'Linux LVM' に変更しました。 コマンド (m でヘルプ): p ディスク /dev/sda: 200 GiB, 214748364800 バイト, 419430400 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x3db55c14 デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM /dev/sda3 41943040 419430399 377487360 180G 8e Linux LVM コマンド (m でヘルプ): w パーティション情報が変更されました。 ディスクを同期しています。
・Linuxを再起動
[root@oel7 ~]# reboot
・物理ボリュームの作成
[root@localhost ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created.
・Volume Groupに物理ボリュームを追加
[root@localhost ~]# vgdisplay --- Volume group --- VG Name ol System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <19.00 GiB PE Size 4.00 MiB Total PE 4863 Alloc PE / Size 4863 / <19.00 GiB Free PE / Size 0 / 0 VG UUID GghsIo-qiG1-HlZU-BCuz-zoUv-MPwQ-xxR9vS [root@localhost ~]# vgextend ol /dev/sda3 Volume group "ol" successfully extended
・論理ボリュームのサイズを拡張
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/ol-root Size of logical volume ol/root changed from <17.00 GiB (4351 extents) to 196.99 GiB (50430 extents). Logical volume ol/root successfully resized.
・ファイルシステムを拡張
[root@localhost ~]# xfs_growfs /dev/mapper/ol-root meta-data=/dev/mapper/ol-root isize=512 agcount=4, agsize=1113856 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=4455424, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4455424 to 51640320
・ディスクサイズが拡張されたか確認
[root@localhost ~]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs 1.8G 9.3M 1.8G 1% /run tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup /dev/mapper/ol-root 197G 6.6G 191G 4% / /dev/sda1 1014M 367M 648M 37% /boot tmpfs 365M 5.7M 360M 2% /run/user/1000
VirtualBox6.0上のOracleLinux7.6のディスクを拡張する
VirtualBox6.0上にインストールされたOracleLinux7.6のディスクを拡張した時のメモ。
バージョン
VirtualBox 6.0
OracleLinux 7.6
VirtualBoxの設定
・ファイル>仮想メディアマネージャ を選択
・追加したいディスクのプロパティ画面を表示して、ディスクのサイズを変更して適用
OracleLinuxの設定
・rootユーザでログイン
・現状のディスク確認
[root@oel7 ~]$ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/ol-root 10258432 9495888 762544 93% / devtmpfs 1006548 0 1006548 0% /dev tmpfs 1023400 0 1023400 0% /dev/shm tmpfs 1023400 9680 1013720 1% /run tmpfs 1023400 0 1023400 0% /sys/fs/cgroup /dev/sda1 1038336 299928 738408 29% /boot tmpfs 204680 8 204672 1% /run/user/42 tmpfs 204680 24 204656 1% /run/user/1000
・fdiskでパーティションを拡張
[root@oel7 ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. コマンド (m でヘルプ): p Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000b1daf デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 25165823 11533312 8e Linux LVM コマンド (m でヘルプ): d パーティション番号 (1,2, default 2): Partition 2 is deleted コマンド (m でヘルプ): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): Using default response p パーティション番号 (2-4, default 2): 最初 sector (2099200-41943039, 初期値 2099200): 初期値 2099200 を使います Last sector, +sectors or +size{K,M,G} (2099200-41943039, 初期値 41943039): 初期値 41943039 を使います Partition 2 of type Linux and of size 19 GiB is set コマンド (m でヘルプ): p Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000b1daf デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 83 Linux コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) ディスクを同期しています。
・Linuxを再起動
[root@oel7 ~]# reboot
・物理ボリュームのサイズの変更
[root@oel7 ~]# pvresize /dev/sda2 Physical volume "/dev/sda2" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
・論理ボリュームのサイズを拡張
[root@oel7 ~]# lvextend -l +100%FREE /dev/mapper/ol-root Size of logical volume ol/root changed from 9.79 GiB (2507 extents) to <17.80 GiB (4556 extents). Logical volume ol/root successfully resized.
・ファイルシステムを拡張
[root@oel7 ~]# xfs_growfs /dev/mapper/ol-root meta-data=/dev/mapper/ol-root isize=256 agcount=4, agsize=641792 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 spinodes=0 data = bsize=4096 blocks=2567168, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 2567168 to 4665344
・ディスクサイズが拡張されたか確認
[root@oel7-node2 ~]# df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/ol-root 18651136 9641740 9009396 52% / devtmpfs 1006548 0 1006548 0% /dev tmpfs 1023400 0 1023400 0% /dev/shm tmpfs 1023400 9664 1013736 1% /run tmpfs 1023400 0 1023400 0% /sys/fs/cgroup /dev/sda1 1038336 299928 738408 29% /boot tmpfs 204680 4 204676 1% /run/user/42 tmpfs 204680 24 204656 1% /run/user/1000
Oracle Cloud Infrastructure DNSサービスにサブドメインを委任する
OCI(Oracle Cloud Infrastructure)にはDNSのゾーンを作成して管理するサービスがあります。本日は、OCIのDNSサービスに保有しているドメインのサブドメインを委任する方法について説明します。
1.OCI DNSで Zoneを作成
最初に、OCI管理コンソールの「ネットワーキング > DNSゾーン管理」より「ゾーンの作成」を行います。
メソッド:手動
ゾーン・タイプ:プライマリ
ゾーン名:<<管理するサブドメイン名>>
今回はゾーン名を「den2sn.com」のサブドメインとして「test.den2sn.com」を設定してみます。
2.NSレコードの設定内容確認
ゾーンを作成するといくつかレコードが定義されています。そのレコードの設定を確認します。作成したゾーンをクリックすると、レコードに設定されているNSレコード(4件)を確認することができます。このレコードを利用しているドメインのDNSサービスに登録する必要があるのでメモしておきます。
3.NSレコードをDNSサービスに登録
ドメインを購入しているDNSサービスに、2.で確認したNSレコード(4件)を追加します。私は「お名前.com」でドメインを購入しているので、そのDNSサービスの管理画面で設定します。
ホスト名:<<管理するサブドメイン名>>
TYPE:NS
TTL:<<キャッシュ有効期限(秒)>>
VALUE:<<2.で確認したRDATAの名前>>
テストのために今回はTTL値を少なく設定していますが、1日(86400)で良いと思います。
4.NSレコードの設定確認
NSレコードが「お名前.com」に正しく登録されたか、任意のクライアントで確認します。Windowsでは以下のnslookupコマンドで登録されているNSレコードを確認することができます。
$ nslookup -type=ns test.den2sn.com サーバー: UnKnown Address: 10.0.0.1 権限のない回答: test.den2sn.com nameserver = ns4.p68.dns.oraclecloud.net test.den2sn.com nameserver = ns1.p68.dns.oraclecloud.net test.den2sn.com nameserver = ns2.p68.dns.oraclecloud.net test.den2sn.com nameserver = ns3.p68.dns.oraclecloud.net ns1.p68.dns.oraclecloud.net internet address = 162.88.2.6 ns2.p68.dns.oraclecloud.net internet address = 162.88.18.6 ns3.p68.dns.oraclecloud.net internet address = 162.88.34.6 ns4.p68.dns.oraclecloud.net internet address = 162.88.50.6
3.で登録したNSレコードの一覧が表示されればOKです。
5.Aレコードの作成
・NSレコードの確認が取れたら、次は実際にホスティングするインスタンスのIPをOCIに作成したゾーンのレコードに追加します。
レコード型:A
ホスト・レコード:<<インスタンスのドメイン名>>
TTL:<<キャッシュ有効期限(秒)>>
RDATAモード:基本
アドレス:<<インスタンスのIP>>
6.Aレコードの設定確認
最後にまた任意のクライアントから、今度はAレコードが参照できるか確認します。
$ nslookup test.den2sn.com サーバー: UnKnown Address: 10.0.0.1 権限のない回答: 名前: test.den2sn.com Address: xxx.xxx.xxx.xxx
5.で登録したAレコードのIPが表示されればOK
これで無事、サブドメイン以下のIP管理をOCIのDNSサービスで実施することができるようになりました。
OCIのDNSサービスにはインスタンスのヘルスチェック結果を元に、返却するIPを変更するようなトラフィックマネージメント機能があります。サブドメインの管理をOCIのDNSサービスに委任しておくことでこのような機能を有効活用することができます。
Java EE 8 関連のAPIの日本語翻訳(非公式)
megascusさんがJava EE関連のAPIの日本語翻訳(非公式)を公開されているようですね。
Java EEのAPIは公式で日本語化されていないので英語がわからない方は参考になると思います。
Java Servlet 4.0 API Specification日本語翻訳版(非公式)
https://megascus.github.io/servlet-spec/docs/apidocs/
Java Persistence API 2.2 Specification日本語翻訳版(非公式)
https://megascus.github.io/jpa-spec/docs/apidocs/