Proxmox VE 4.3

## LVM-thinをやめる

* インストール直後であること

```bash:data内のコンテナやVMがあれば消えます!!
lvremove pve/data \
&& lvextend -l +100%FREE pve/root \
&& resize2fs /dev/pve/root
```

```bash:disk使用量
# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/dm-0       131G  1.2G  124G   1% /
```

* local-lvmの削除

![スクリーンショット_2016-10-02_08-21-31.png](https://qiita-image-store.s3.amazonaws.com/0/25728/8f60ddd0-bfc9-ec01-a405-146cbb0537f4.png)


* localでVM,コンテナ,バックアップの有効化

![スクリーンショット_2016-10-02_08-22-41.png](https://qiita-image-store.s3.amazonaws.com/0/25728/d1e87781-e464-c810-c6d8-4ad019d322c3.png)

* df で確認できるDISK使用量は、rootイメージサイズではなく、イメージの内の実際のデータ量だった。


## sources.list

```diff:/etc/apt/sources.list.d/pve-enterprise.list
- deb https://enterprise.proxmox.com/debian jessie pve-enterprise
+ deb http://download.proxmox.com/debian jessie pve-no-subscription
```

```bash:更新
apt update && apt dist-upgrade -y && apt-get clean
```


## 自分用メモ

```rb:/etc/ssh/sshd_config
Port 22
#PasswordAuthentication yes
UseDNS no
```

```bash:memo
# packages
apt install -y \
  screen sshfs sudo logwatch mdadm

# 一般ユーザ作成しsudoできるように
ACCOUNT=user1
adduser ${ACCOUNT}
gpasswd -a ${ACCOUNT} sudo

# sshできるように
cd /home/${ACCOUNT}/
mkdir .ssh
vi /etc/pve/priv/authorized_keys
cp /etc/pve/priv/authorized_keys .ssh/authorized_keys
chown -R ${ACCOUNT}:${ACCOUNT} .ssh

# docker
wget -qO- get.docker.com | sudo sh
gpasswd -a ${ACCOUNT} docker
sh -c "wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/1.9.0-rc2/docker-compose-`uname -s`-`uname -m`"
chmod +x /usr/local/bin/docker-compose

# /etc/aliases
echo "root: ${ACCOUNT}+${HOSTNAME}@メールアドレス" >> /etc/aliases
newaliases

# logwatch
cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/
mkdir /var/cache/logwatch
sed -i -e 's/^Detail = Low/Detail = Med/' /etc/logwatch/conf/logwatch.conf
/etc/cron.daily/00logwatch
```

* docker-composeの最新バージョンは[ここ](https://github.com/docker/compose/releases)で確認。

## その他

```bash:旧サーバーで実施
# sshfsで新サーバーの/var/lib/vz/dump/をマウントしbackup転送
sshfs -p 22 1.2.3.4:/var/lib/vz/dump /var/lib/vz/dump
```

```bash:音を出す場合
apt install -y alsa-utils mpg321
gpasswd -a ユーザ audio
alsamixer
# mキーでミュート解除、上キーで音量を上げる
```

```bash:nfs
# server
apt install -y nfs-kernel-server
echo "/mnt/nfs/ 192.168.0.64(rw,insecure,no_subtree_check,no_root_squash)" >> /etc/exports
exportfs -rav

# client
apt install -y nfs-common
mount -t nfs 192.168.0.61:/mnt/nfs /mnt
umount -f /mnt
## どうしてもumount出来ない場合
umount -f -l /mnt
```

## dumpをrsyncで取得

* パスワードなしの鍵を作りrsyncできるようにする。

```
ssh-keygen
cat ~/.ssh/id_rsa.pub
```

```bash:接続先のサーバーにて以下準備
from="192.168.11.11" ssh-rsa AAAAB3...(略)... user1@nas
```

```bash:接続元のサーバーにて~/.ssh/config作成
Host server1
    Port 22
    User user1
    IdentityFile ~/.ssh/id_rsa
```

```
mkdir ~/cron/
touch ~/cron/rsync_dump.sh
chmod +x ~/cron/rsync_dump.sh
```

```bash:~/cron/rsync_dump.sh
#!/bin/sh
set -eu
FROM="server1"
 
rsync -a --delete \
 --include="*.log" --include="*.lzo" --exclude="*" \
 -e ssh ${FROM}:/var/lib/vz/dump/ ~/dump-${FROM}/
```

```bash:crontab
30 2 * * 1 (cd ~/cron && ./rsync_dump.sh)
```

## クラスタについて

* [High Availability - Proxmox VE](http://pve.proxmox.com/wiki/High_Availability)
* [High Availability Cluster 4.x - Proxmox VE](https://pve.proxmox.com/wiki/High_Availability_Cluster_4.x)
* [How to Configure a Proxmox VE 4 Multiple Node Cluster](https://www.howtoforge.com/tutorial/how-to-configure-a-proxmox-ve-4-multi-node-cluster/)

## インストール

* ISOサイズが699MB(proxmox4.2)から510MB(proxmox4.3)に激減
* 136.7 GB のHDDにインストールした結果

```bash:パーティション
# fdisk -l /dev/cciss/c0d0
(略)
Device             Start       End   Sectors   Size Type
/dev/cciss/c0d0p1     34      2047      2014  1007K BIOS boot
/dev/cciss/c0d0p2   2048    262143    260096   127M EFI System
/dev/cciss/c0d0p3 262144 286611806 286349663 136.6G Linux LVM
```

```bash:disk使用量
# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/dm-0        34G  1.2G   31G   4% /
```

```bash:メモリ
# free -m
             total       used       free     shared    buffers     cached
Mem:          7981        785       7195         41         15        123
-/+ buffers/cache:        646       7334
Swap:         4095          0       4095
```

```bash:lvm
# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data pve  twi-a-tz-- 82.54g             0.00   0.43                            
  root pve  -wi-ao---- 34.00g                                                    
  swap pve  -wi-ao----  4.00g                                                    
```

## S.M.A.R.T.対応例

* [smartmontoolsでHDD状態確認 - Qiita](http://qiita.com/tukiyo3/items/8d33ead10b6195ee57d2#proxmox43%E3%81%AEsmart%E5%AF%BE%E5%BF%9C%E4%BE%8B)

## リストアに失敗した時のログ

* 初めて遭遇した。その後バックアップ取り直してリストア成功した。

```bash:
(略)
extracting archive '/var/lib/vz/dump/vzdump-lxc-372-2016_10_02-08_53_15.tar.lzo'
lzop: <stdin>: Checksum error
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
TASK ERROR: command 'tar xpf /var/lib/vz/dump/vzdump-lxc-372-2016_10_02-08_53_15.tar.lzo --totals --sparse --numeric-owner --acls --xattrs '--xattrs-include=user.*' '--xattrs-include=security.capability' '--warning=no-xattr-write' -C /var/lib/lxc/372/rootfs --skip-old-files --anchored --exclude './dev/*'' failed: exit code 2
```

## LXCよりもKVMを使ったほうがよい理由

LXC: Snapshotでのバックアップ調べ

* バックアップ、リストアの速度が早い
    * LXCだとイメージ内のファイル単位でコピーするため遅い。
    * 同一マシン内だと、2〜3倍の差が付く。
    * KVMだとバックアップの進捗が％表示される
    * NFS経由へのバックアップだと6倍くらいかかる。(200GBで12時間など)
* LXCだとバックアップ、リストア中、応答がなくなる。
    * (KVMだとssh接続など問題ない)
* 不具合に遭遇する
    * サービスが立ち上がらない(runlevel3になっていなかったり)
    * ブラウザ経由のコンソールが見れないことも (pct enterで入るか、最新のtemplateを使うか)
    * nfsdが使えない