79 lines
2.7 KiB
Markdown
79 lines
2.7 KiB
Markdown
# Infrastructure & Host Baseline Setup Guide
|
|
|
|
## 1. Cloud Hardware Baseline
|
|
* **Provider**: Oracle Cloud Infrastructure (OCI)
|
|
* **Architecture**: Ampere A1 Flex (`aarch64` / ARM64)
|
|
* **Resources**: 4 OCPUs (Neoverse N1), 24 GB System RAM
|
|
* **Storage Allocation**: 200 GB Always Free Block Volume (Resized Boot Volume)
|
|
* **Memory Strategy**:
|
|
* Container JVM Heap (`-Xmx12G -Xms12G`): Allocated per instance manifest
|
|
* Host OS & Page Cache: Minimum 12 GB reserved for kernel, filesystem page cache, and Docker daemon overhead
|
|
|
|
---
|
|
|
|
## 2. Host OS & Network Optimization
|
|
|
|
### Firewall Configuration (UFW)
|
|
Allocate port ranges to support primary and secondary instances:
|
|
```bash
|
|
# Primary Instance Ports (Java + Simple Voice Chat)
|
|
sudo ufw allow 25565/tcp comment 'MC Java Port - Primary Instance'
|
|
sudo ufw allow 24454/udp comment 'Voice Chat Port - Primary Instance'
|
|
|
|
# Secondary Instance Ports
|
|
sudo ufw allow 25566/tcp comment 'MC Java Port - Secondary Instance'
|
|
sudo ufw allow 24455/udp comment 'Voice Chat Port - Secondary Instance'
|
|
|
|
sudo ufw enable
|
|
```
|
|
|
|
### Linux Kernel TCP Optimization (BBR + FQ)
|
|
Enable Bottleneck Bandwidth and RTT (BBR) congestion control to minimize network latency:
|
|
```bash
|
|
sudo modprobe tcp_bbr
|
|
sudo bash -c 'cat <<EOF > /etc/sysctl.d/99-minecraft.conf
|
|
net.core.default_qdisc=fq
|
|
net.ipv4.tcp_congestion_control=bbr
|
|
EOF'
|
|
sudo sysctl --system
|
|
```
|
|
|
|
---
|
|
|
|
## 3. Host Ownership Safeguard
|
|
|
|
Ensure host user retains ownership of container data to prevent `PermissionError (EACCES)`:
|
|
```bash
|
|
sudo chown -R $USER:$USER ./data
|
|
chmod -R u+rwX ./data
|
|
```
|
|
|
|
---
|
|
|
|
## 4. OCI Storage Volume Expansion (Always Free Tier)
|
|
|
|
Oracle Cloud allows up to 200 GB of Always Free block volume storage per tenancy. To expand the default 47 GB boot volume on Ubuntu instances without reinstalling:
|
|
|
|
### Phase 1: OCI Console Allocation
|
|
1. In OCI Console, navigate to **Compute** $\rightarrow$ **Instances** $\rightarrow$ `[Your Instance]` $\rightarrow$ **Storage** / **Boot Volume**.
|
|
2. Select **View boot volume details** $\rightarrow$ **Edit**.
|
|
3. Change volume size from `47 GB` up to `200 GB` and save.
|
|
|
|
### Phase 2: Live Kernel Rescan & Partition Growth (Ubuntu)
|
|
Execute on the host terminal to rescan the block device and resize the online `ext4` filesystem:
|
|
|
|
```bash
|
|
# 1. Force kernel rescan of resized OCI paravirtualized disk
|
|
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1
|
|
echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan
|
|
|
|
# 2. Grow partition 1 on /dev/sda
|
|
sudo apt-get update && sudo apt-get install -y cloud-guest-utils
|
|
sudo growpart /dev/sda 1
|
|
|
|
# 3. Resize ext4 filesystem online
|
|
sudo resize2fs /dev/sda1
|
|
|
|
# 4. Verify capacity (Target: ~190G+ available)
|
|
df -h /
|
|
```
|