---
title: "SLV Migrate Linux - เริ่มต้นใช้งานอย่างรวดเร็ว"
description: "ย้ายเซิร์ฟเวอร์ Linux ทั้งเครื่องไปยังเครื่องใหม่ด้วย slv migrate linux"
canonical: "https://erpc.global/th/doc/migrate/quickstart/"
locale: "th"
---

# SLV Migrate Linux - เริ่มต้นใช้งานอย่างรวดเร็ว

## 🚚 SLV Migrate Linux

ย้ายดิสก์ Linux ทั้งหมดของคุณไปยังเซิร์ฟเวอร์ใหม่ผ่าน SSH โดยใช้ rsync นี่คือการย้ายแบบทั้งดิสก์ — ทุกอย่างบนเซิร์ฟเวอร์ต้นทางจะถูกคัดลอกไปยังปลายทาง รวมถึงข้อมูลผู้ใช้ การตั้งค่า แพ็กเกจที่ติดตั้งไว้ และการตั้งค่า node ของ SLV

> **หมายเหตุ:** คำสั่งนี้ต่างจาก `slv v switch` (การย้าย validator identity) กล่าวคือ `slv migrate linux` จะคัดลอก filesystem ทั้งหมด ส่วน `slv v switch` จะสลับ validator identity ระหว่าง node สองตัวที่ทำงานอยู่แล้ว

### ข้อกำหนดเบื้องต้น

- ติดตั้ง SLV CLI บน node **ต้นทาง**
- สิทธิ์ `sudo` / root ทั้งบนต้นทางและปลายทาง
- เข้าถึงปลายทางผ่าน SSH จากต้นทางได้ (ด้วยรหัสผ่านหรือ key)
- เซิร์ฟเวอร์ปลายทางควรเป็นเครื่องที่เพิ่งติดตั้งใหม่ (SLV จะแจ้งเตือนหากพบว่ามีข้อมูลเดิมอยู่แล้ว)

## การใช้งานพื้นฐาน

รันบนเซิร์ฟเวอร์ **ต้นทาง**:

```bash
sudo slv migrate linux --to root@new-server-ip
```

```
🚚 SLV Linux Migration

  Source:      ubuntu (this machine)
  Destination: root@203.0.113.50

📋 Exclude list:
  • /dev/*
  • /proc/*
  • /sys/*
  • /tmp/*
  • /run/*
  • /mnt/*
  • /media/*
  • /lost+found
  • /swapfile
  • /snap/*
  • /var/log/*

? Start migration? This will overwrite data on the destination. › Yes
  Syncing... (this may take a while depending on disk size)
√ Migration complete
  Rebooting destination...
```

## ตัวเลือก

| ตัวเลือก | คำอธิบาย |
|---|---|
| `-t, --to <ssh>` | ปลายทาง SSH (เช่น `root@new-server`) |
| `-p, --port <port>` | พอร์ต SSH (ค่าเริ่มต้น: 22) |
| `--skip-reboot` | ข้ามการรีบูตอัตโนมัติหลังย้ายเสร็จ |
| `--exclude <path>` | pattern ที่ต้องการให้ rsync ยกเว้นเพิ่มเติม (ใช้ซ้ำได้) |
| `--include <path>` | นำออกจากรายการยกเว้นเริ่มต้น (ใช้ซ้ำได้) |
| `--list-excludes` | แสดงรายการยกเว้นปัจจุบันแล้วออก |
| `-y, --yes` | ข้ามการยืนยัน |

## กำหนดพอร์ต SSH เอง

หากปลายทางใช้พอร์ต SSH ที่ไม่ใช่พอร์ตมาตรฐาน:

```bash
sudo slv migrate linux --to root@new-server-ip --port 2222
```

## ปรับแต่งรายการยกเว้น

ดูสิ่งที่จะถูกยกเว้น:

```bash
slv migrate linux --list-excludes
```

ยกเว้น path เพิ่มเติม (เช่น ข้ามข้อมูล ledger เพื่อให้ย้ายได้เร็วขึ้น):

```bash
sudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledger
```

## โหมดที่ไม่ต้องโต้ตอบ

สำหรับใช้ในสคริปต์:

```bash
sudo slv migrate linux --to root@new-server-ip --skip-reboot --yes
```

## วิธีการทำงาน

1. **ตรวจสอบก่อนเริ่ม** — ตรวจสอบการเชื่อมต่อ SSH และแจ้งเตือนหากปลายทางมีข้อมูลอยู่แล้ว
2. **rsync** — คัดลอก filesystem ทั้งหมด (ยกเว้น system pseudo-filesystem) ผ่าน SSH
3. **หลังย้ายเสร็จ** — รีบูตเซิร์ฟเวอร์ปลายทางโดยอัตโนมัติ (เว้นแต่ใช้ `--skip-reboot`)

การย้ายใช้ rsync พร้อม `--archive --hard-links --acls --xattrs` เพื่อคงแอตทริบิวต์ของไฟล์ สิทธิ์ และไฟล์พิเศษไว้ทั้งหมด

## ⚠️ หมายเหตุสำคัญ

- **รันในฐานะ root** (หรือใช้ `sudo`) หากย้ายโดยไม่ใช่ root ไฟล์ระบบจะตกหล่น
- ปลายทางควรเป็น **เซิร์ฟเวอร์ที่เพิ่งติดตั้งใหม่** ข้อมูลเดิมจะถูกเขียนทับ
- exit code 23/24 ของ rsync (partial transfer) จะถือเป็นคำเตือน ไม่ใช่ข้อผิดพลาด ไฟล์บางไฟล์ (เช่น log ที่กำลังถูกเขียนอยู่) อาจถ่ายโอนได้ไม่สมบูรณ์
- หลังย้ายเสร็จ ให้ตรวจสอบว่า node ทำงานได้ถูกต้องก่อนปลดระวางเครื่องต้นทาง
- สำหรับ **การย้าย validator identity** (การสลับแบบไม่มี downtime ระหว่าง validator สองตัวที่ทำงานอยู่) ให้ใช้ `slv v switch` แทน ดู [การย้าย Mainnet Validator](https://erpc.global/th/doc/mainnet-validator/migrate/)
