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ゾーン管理」より「ゾーンの作成」を行います。

f:id:den2sn:20191206122543p:plain

メソッド:手動
ゾーン・タイプ:プライマリ
ゾーン名:<<管理するサブドメイン名>>

今回はゾーン名を「den2sn.com」のサブドメインとして「test.den2sn.com」を設定してみます。

2.NSレコードの設定内容確認

ゾーンを作成するといくつかレコードが定義されています。そのレコードの設定を確認します。作成したゾーンをクリックすると、レコードに設定されているNSレコード(4件)を確認することができます。このレコードを利用しているドメインDNSサービスに登録する必要があるのでメモしておきます。

f:id:den2sn:20191206122823p:plain

3.NSレコードをDNSサービスに登録

ドメインを購入しているDNSサービスに、2.で確認したNSレコード(4件)を追加します。私は「お名前.com」でドメインを購入しているので、そのDNSサービスの管理画面で設定します。

f:id:den2sn:20191206123012p:plain

ホスト名:<<管理するサブドメイン名>>
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に作成したゾーンのレコードに追加します。

f:id:den2sn:20191206123441p:plain

レコード型: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 EEAPIは公式で日本語化されていないので英語がわからない方は参考になると思います。


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/

Java EE 8で追加・更新された機能

先日Java EE 8がリリースされましたが
追加・更新された各テクノロジーのバージョンは以下のようになっています。

Java EE 8で新規で追加されたもの
テクノロジー バージョン
Java API for JSON Binding (JSON-B) 1.0
Java EE Security API 1.0
アップデートされたもの
テクノロジー EE6バージョン EE7バージョン
Enterprise JavaBeans (EJB) 3.2 3.2
Servlet 3.1 4.0
JavaServer Pages (JSP) 2.3 2.3
Expression Language (EL) 3.0 3.0
Java Messaging Service (JMS) 2.0 2.0
Java Transaction API (JTA) 1.2 1.2
JavaMail API 1.5 1.6
Java Connector Architecture (JCA) 1.7 1.7
Web Services 1.4 1.4
Java API for RESTful Web Services (JAX-RS) 2.0 2.1
Java API for WebSocket 1.0 1.1
Java API for JSON Processing (JSON-P) 1.0 1.1
Concurrency Utilities for Java EE 1.0 1.0
Batch Application for the Java Platform (jBatch) 1.0 1.0
Java EE Management 1.1 1.1
Java Authorization Service Provider Contract for Containers (JACC) 1.5 1.5
Java Authentication Service Provider Interface for Containers (JASPIC) 1.1 1.1
JSP Debugging 1.0 1.0
JavaServer Pages Standard Tag Library (JSTL) 1.2 1.2
Web Services Metadata for the Java Platform 2.1 2.1
JavaServer Faces (JSF) 2.2 2.3
Common Annotations 1.2 1.3
Java Persistence API (JPA) 2.1 2.2
Bean Validation 1.1 2.0
Managed Beans 1.0 1.0
Interceptors 1.2 1.2
Contexts and Dependency Injection for Java EE (CDI) 1.1 2.0
Dependency Injection for Java 1.0 1.0


紆余曲折あったJava EE 8ですが、追加された機能は最終的にJSON-BとSecurity APIの2つになりました。


また、Servlet、Bean Validation、CDIの3つの仕様についてはメジャーバージョンが更新されており、大きな機能が追加されています。

Java EE 8 & GlassFish 5.0 リリース!

Java SE 9のリリースにあわせてJava EE 8と参照実装であるGlassFish 5.0がリリースされました。
以下のサイトよりダウンロード可能です。


GlassFish 5.0 ダウンロード
https://javaee.github.io/glassfish/download
Java EE 8 SDK ダウンロード
http://www.oracle.com/technetwork/java/javaee/downloads/index.html


Java EE 8ではHTTP / 2対応やJava SE 8対応など多くの機能が導入されています。
Java EEに準拠した各アプリケーションサーバはこれから順次対応していくのではないでしょうか。

JDK 9リリース!

2017年9月21日にJDK 9がリリースされました。
以下のサイトよりダウンロード可能です。


Java SE 9(Oracle JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html


Javaプラットフォームのモジュール化を含む多くの改善が含まれています。
(機能の詳細こちら http://openjdk.java.net/projects/jdk9/


是非ダウンロードして新しい機能をお試しいただければと思います。