ubuntu16.04MongoDB3.4をインストールして、mongoで接続すると、下記のWARNINGが出ってしまう:

** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
**          See http://dochub.mongodb.org/core/prodnotes-filesystem

** WARNING: Access control is not enabled for the database. 
**          Read and write access to data and configuration is unrestricted.

** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
**        We suggest setting it to 'never'

** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
**        We suggest setting it to 'never'

無視してもいいが、うるさいので消したい!(本番環境なら全部きちんとクリアしたいしね)

まず最初のWARNING

説明通りが、XFSファイルシステムが推薦されるので、--dbpatchをXFSファイルシステムのストレージに向けば解消できる。

まずxfsファイルシステムを作成用に必要なパッケージをインストール

sudo apt-get install xfsprogs

ストレージをmountする手順は環境によって少し変わるが、最近よく使われているクラウドサービスのblock storageを利用する場合を説明する(/dev/vdbにアタッチしている場合)

# GPTラベル作成
sudo parted -s /dev/vdb mklabel gpt
# パーティションを作成
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
# xfsタイプのファイルシステムを作成
sudo mkfs.xfs /dev/vdb1

# mount用にディレクトリ作成
sudo mkdir /mnt/mongodata

/etc/fstabを開いて、下記の行を追記

/dev/vdb1    /mnt/mongodata    xfs    defaults,noatime    0    0

作成したファイルシステムをmountする:

sudo mount /mnt/mongodata

/etc/mongd.confを開いて、下記の設定を変更する:

...
storage:
  dbPath: /mnt/mongodata/db        # <= この行
  journal:
    enabled: true
...

保存したら、先ほど指定したdbPathを作成する:

# db ディレクトリを作成
mkdir /mnt/mongodata/db
# オーナーをmongodbにする
chown mongdb:mongodb /mnt/mongodata/db

再起動すればWARNINGクリア!

sudo service mongod restart

二つ目のWARNING

アクセス権限が設定されてない警告なので、mongodbの管理アカウントを作成すれば解消:

mongoでコンソールを開いて、下記のように管理ユーザを作成

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

認証を有効するには、/etc/mongd.confを開いてsecurity.authorizationの値をenabledに設定:

...
security:
  authorization: enabled
...

再起動すれば二つ目のWARNINGもクリア!

sudo service mongod restart

詳しくは公式のドキュメントを参考すると良い:https://docs.mongodb.com/manual/tutorial/enable-authentication/

最後の二つ

下記の手順できれいに消せます:

Step1. sysfsutilsをインストール

sudo apt install sysfsutils

Step2. /etc/sysfs.confに下記の2行を追記:

kernel/mm/transparent_hugepage/enabled = never
kernel/mm/transparent_hugepage/defrag = never

Step3. 有効させる

/etc/init.d/sysfsutils start

Step4. mongodを再起動

sudo service mongod restart

参考:https://askubuntu.com/questions/597372/how-do-i-modify-sys-kernel-mm-transparent-hugepage-enabled