====== 构建:主力服务器 ======
描述服务器的架构设计以及安装过程中需要注意的地方。
===== 分区 =====
将来打算用TimeShift的Btrfs快照备份,所以在安装的时候就要考虑好。btrfs, ext4, xfs 其实是三种不同的磁盘格式。(([[https://zhuanlan.zhihu.com/p/348360152|云盘文件系统比较:Ext4、XFS和Btrfs]]))
(([[https://linux.cn/article-13043-1.html|Btrfs 和 LVM]]))
^ dev ^ Type ^ volume ^ filesystem ^
| /dev/nvme0n1p1 | efi | 1G | /boot |
| /dev/nvme0n1p2 | swap | 10G | .. |
| /dev/nvme0n1p3 | btrfs | 230G | / |
| /dev/sda | btrfs | 500G | /home |
分两级备份:一级是系统备份,一级是数据库备份。系统使用Btrfs快照,数据库使用逻辑卷快照。home 单独独立出来,将来恢复系统以后,再将home挂载上去,就跟原来的系统一模一样。home其实也不跑什么,主要就是mongodb的数据。使用Btrfs新的快照技术(([[https://linux.cn/article-12653-1.html|使用 Btrfs 快照进行增量备份]]))。它有很多优点
- 备份文件可以放在任何喜欢的目录
- 可以增量备份(⚠️ 不能用 rm 命令删除备份文件,而要用 btrfs subvolume delete)
- 远程发送备份文件
500 SSD 固态硬盘挂载到 ''%%/mnt/mongodb%%'' (lzo 压缩方式)
mount -t btrfs -o compress=lzo /dev/sdb5 /mnt/mongodb
# 显示这个目录下有多少个子卷
sudo btrfs subvolume list /mnt/mongodb
在root subvolume的基础上创建一个快照
cd /mnt/mongodb
#默认情况下快照是可写的,如果要创建只读快照,需要加上-r参数
#sudo btrfs subvolume snapshot ./ ./snap-root
sudo btrfs subvolume snapshot -r ./ ./.snapshots/d20210728
# 查看结果
sudo btrfs subvolume list .
ID 257 gen 10 top level 5 path snap-root
===== 远程控制 =====
方式一:ssh 命令行\\
方式二:浏览器控制 (([[https://www.powercms.in/article/how-access-ssh-terminal-web-browser-ubuntudebianmint|Access ssh Terminal In Web Browser]]))\\
方式三:远程桌面 (([[https://askubuntu.com/questions/893831/remote-desktop-connection-from-mac-to-ubuntu|Remote Desktop connection from Mac to Ubuntu]]))
方式一最方便,进入 setting - share - screen 打开屏幕分享即可。然后从 Mac 的浏览器上 ''%%vnc://ip-ubuntu%%'' 就好了。如果mac上报版本不兼容的错误,在服务器上输入以下代码
gsettings set org.gnome.Vino require-encryption false