はじめに
Proxmox VEのセットアップ手順(インストール編)の続きです。
初期設定(SSH接続のrootユーザーから)
USBメモリーへインストールしたときに起動に失敗する場合の対策
rootdelay=2を恒久化する。
nano /etc/default/grub
# >GRUB_CMDLINE_LINUX_DEFAULT="quiet"
# ↓
# >GRUB_CMDLINE_LINUX_DEFAULT="quiet rootdelay=2"
update-grub
- Proxmox Install on USB-Device | Proxmox Support Forum
- Gave up waiting for root device ( UNIX ) - やまものブログ - Yahoo!ブログ
ZFSにインストールした場合、GRUBのUUID指定を無効化する
nano /etc/default/grub
# GRUB_DISABLE_LINUX_UUID=true
↓
GRUB_DISABLE_LINUX_UUID=true
update-grub
SSHデーモンの設定
# authorized_keysに公開鍵を登録する
nano /root/.ssh/authorized_keys
# >ssh-rsa ...
# >ssh-rsa ...
# >ssh-rsa ...
# 公開鍵認証で再接続
# SSHデーモンのパスワード認証を禁止
## 自動
sed -i -r -e 's/^#? *(PermitRootLogin) .*$/\1 without-password/' \
-e 's/^#? *(PasswordAuthentication) .*$/\1 no/' /etc/ssh/sshd_config &&
/etc/init.d/ssh restart
## 手動
nano /etc/ssh/sshd_config
# >PermitRootLogin yes
# ↓
# >PermitRootLogin without-password
# >#PasswordAuthentication yes
# ↓
# >PasswordAuthentication no
/etc/init.d/ssh restart
Proxmox VEのリポジトリーを変更する
# 自動
sed -i -r 's!^(deb https://enterprise\.proxmox\.com/debian jessie pve-enterprise)$!#\1!' /etc/apt/sources.list.d/pve-enterprise.list &&
cat << EOT >> /etc/apt/sources.list
# PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
deb http://download.proxmox.com/debian jessie pve-no-subscription
EOT
# 手動
nano /etc/apt/sources.list.d/pve-enterprise.list
# >deb https://enterprise.proxmox.com/debian jessie pve-enterprise
# ↓
# >#deb https://enterprise.proxmox.com/debian jessie pve-enterprise
nano /etc/apt/sources.list
# 追加
# ># PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
# >deb http://download.proxmox.com/debian jessie pve-no-subscription
パッケージを更新
apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade
# IPv6が原因で遅いとき
apt-get update -o Acquire::ForceIPv4=true &&
apt-get upgrade -y -o Acquire::ForceIPv4=true &&
apt-get dist-upgrade -y -o Acquire::ForceIPv4=true
管理用一般ユーザーを追加
Proxmox VEでLXCのDebian 8をセットアップを参照。
その他
Proxmox VEの設定は/etc/pve/に、localのストレージは/var/lib/vz/にあります。
その他セットアップ(SSH接続の管理用一般ユーザーから)
日本語化
Proxmox VEでLXCのDebian 8をセットアップを参照。
NTPサーバーを変更
NTPクライアントはデフォルトでsystemd-timesyncdが有効になっている。
sudo nano /etc/systemd/timesyncd.conf #この中を書き換えて ntp.nict.jp にでもサーバーを変更する
# >[Time]
# >Servers=ntp.nict.jp
sudo systemctl restart systemd-timesyncd.service #設定を反映させるため再起動
timedatectl #有効であることを確認
sudo systemctl status systemd-timesyncd.service #実行履歴確認
Gmailにメールが飛ぶようにする
WOLを投げられるようにする
sudo apt-get install -y wakeonlan
wakeonlan <mac>
IPv6がつながらない場合
おまじない。
ip a #状況確認
sudo nano /etc/network/interfaces
# 追記
# >iface vmbr0 inet6 auto
# > privext 2
CPUのクロックが動的に変わるようにする
# 状況確認
grep MHz /proc/cpuinfo #現在のクロック確認
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor #現在のモード確認
# cpufrequtilsをインストール
sudo apt-get install -y cpufrequtils #インストール
sudo echo 'GOVERNOR="powersave"' > /etc/default/cpufrequtils #Sandy Bridge以降
sudo echo 'GOVERNOR="ondemand"' > /etc/default/cpufrequtils #その他
sudo /etc/init.d/cpufrequtils restart #再起動
# yesコマンドで負荷を掛ける(CPU4スレッド)
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
kill %1 %2 %3 %4
# stressコマンドで負荷を掛ける(CPU4スレッド・メモリー60GB)
sudo apt-get install -y stress
sudo stress --cpu 4 --vm 60 --vm-bytes 1G --timeout 1m
# 現在のクロック確認
grep MHz /proc/cpuinfo
# powersaveまたはondemandになっていることを確認
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
SkylakeのiGPU対応
echo 'deb http://ftp.debian.org/debian jessie-backports main contrib' >> /etc/apt/sources.list &&
apt-get update &&
apt-get install -t jessie-backports -y xserver-xorg-video-intel
SSDに一週間に一回trimコマンドを発行する
sudo nano /etc/fstab #SSDをマウント
# >PARTUUID=... /mnt/ssd ext4 defaults,noatime,nofail 0 2 #data=wightbackは付けるとマウントしなかったため付けていない
sudo nano /etc/cron.weekly/fstrim
# >#!/bin/sh
# >fstrim -a
sudo chmod 755 /etc/cron.weekly/fstrim #実行属性を付ける
アイドル時にHDDの電源が切れるようにする
sudo nano /etc/hdparm.conf
# 追加(240=20分)
# >/dev/disk/by-id/... {
# > spindown_time = 240
# >}
/etc/init.d/hdparm restart
hdparm -C /dev/sdx #確認
S.M.A.R.T.を確認する
sudo apt-get install -y smartmontools #インストール
sudo smartctl -c /dev/<device> #確認
sudo systemctl disable smartd.service && sudo systemctl stop smartd.service #常駐させない
ZFS周り
- ZFS(Linux)の私的セットアップ手順 - Qiita
- ZFS on Linuxでスナップショットを作成し一定期間経過後破棄 - Qiita
- zfs send recvを楽にする(SSH対応版) - Qiita
- Proxmox VEのZFS Rootの複製 - Qiita
ログを削減(USBメモリー対応)
/etc/rsyslog.conf変更前
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
# cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
#
# Logging for INN news system.
#
news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice -/var/log/news/news.notice
#
# Some "catch-all" log files.
#
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
/etc/rsyslog.conf変更後
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.error;auth,authpriv.none -/var/log/syslog
# cron.* /var/log/cron.log
# daemon.* -/var/log/daemon.log
# kern.* -/var/log/kern.log
# lpr.* -/var/log/lpr.log
# mail.* -/var/log/mail.log
# user.* -/var/log/user.log
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
# mail.info -/var/log/mail.info
# mail.warn -/var/log/mail.warn
# mail.err /var/log/mail.err
#
# Logging for INN news system.
#
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice -/var/log/news/news.notice
#
# Some "catch-all" log files.
#
# *.=debug;\
# auth,authpriv.none;\
# news.none;mail.none -/var/log/debug
# *.=info;*.=notice;*.=warn;\
# auth,authpriv.none;\
# cron,daemon.none;\
# mail,news.none -/var/log/messages
書き出さないようにしたログを削除、再起動
sudo rm /var/log/cron.log*
sudo rm /var/log/daemon.log*
sudo rm /var/log/kern.log*
sudo rm /var/log/lpr.log*
sudo rm /var/log/mail.log*
sudo rm /var/log/messages*
sudo rm /var/log/user.log*
sudo rm /var/log/mail.info*
sudo rm /var/log/mail.warn*
sudo rm /var/log/mail.err*
sudo rm /var/log/news/news.crit*
sudo rm /var/log/news/news.err*
sudo rm /var/log/news/news.notice*
sudo rm /var/log/debug*
sudo /etc/init.d/rsyslog restart