VirtualBox上のOracleLinuxのディスクを拡張する
VirtualBox上にインストールされたOracleLinuxのディスクを拡張した時のメモ。
バージョン
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/
Java EE 8で追加・更新された機能
先日Java EE 8がリリースされましたが
追加・更新された各テクノロジーのバージョンは以下のようになっています。
アップデートされたもの
テクノロジー | 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/)
是非ダウンロードして新しい機能をお試しいただければと思います。
vue.jsでURLのシャープ#(hashbang)を消したい
vue.jsでvue-routerを使用する際にデフォルトではhash modeとなるためURLに#が付加されます。#を使用したURLが嫌な場合はmodeをhistoryに変更することでURLに#を付加しないようにすることができます。
modeを変更するにはVueRouterの指定で以下のようにモードを指定します。
const router = new VueRouter({ mode: 'history', routes: [...] })
historyモードではhistory.pushState APIを使用して
hash modeと同様にページリロードなしにURLの書き換えを行うことができます。