---
# System prepended metadata

title: Aws Ec2 Instance type 舊換新 for Centos

---

# Aws Ec2 Instance type 舊換新 for Centos

1. 在[Application Migration Service](https://ap-northeast-1.console.aws.amazon.com/mgn/home?region=ap-northeast-1#/sourceServers)確認 遷移生命週期 為 準備測試，點選啟動測試執行個體，再點選啟動。![](https://hackmd.io/_uploads/B1rlWabI3.jpg)![](https://hackmd.io/_uploads/BksDQab83.png)

2. 確認 遷移生命週期 變更為 測試進行中，且狀態出現 已啟動。![](https://hackmd.io/_uploads/SJKBI6WL3.png)

3. 在[EC2](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#Instances:)頁面就會出現前面步驟啟動的測試執行個體，在該台EC2上點選右鍵 > 映像和範本 > 建立映像，輸入映像名稱，再點選建立映像。![](https://hackmd.io/_uploads/HJ7SKTb8n.png)![](https://hackmd.io/_uploads/SJdYsa-L2.png)

4. 在[AMI](https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Images:)可找到前面建立的映象，選取後點選 從AMI啟動執行個體![](https://hackmd.io/_uploads/Syw7ppZLn.png)

5. 啟動執行個體  
5.1. 輸入名稱![](https://hackmd.io/_uploads/SJJiUezU3.png)
5.2. 執行個體類型選擇 c6i.xlarge，金鑰對名稱選擇 在沒有金鑰對的情況下繼續![](https://hackmd.io/_uploads/BJZsZxG82.png)
5.3. 網路設定依據需求進行選擇![](https://hackmd.io/_uploads/HJzGz0-U3.png)
5.4. 點開進階網路設定，在 主要IP 輸入要自訂的IP，完成後點選啟動執行個體![](https://hackmd.io/_uploads/rkrWmRWIh.png)

11. 停止執行個體![](https://hackmd.io/_uploads/SJw6rAWU2.png)

12. 選取執行個體，在 儲存 點選根目錄的磁碟區ID![](https://hackmd.io/_uploads/BkIZgWf83.png)

13. 選取磁碟區後，點選分開磁碟區![](https://hackmd.io/_uploads/SyWExWG82.png)

14. 再次選取磁碟區後，點選連接磁碟區![](https://hackmd.io/_uploads/Hy_FgWfI3.png)

15. 連結到另一台Linux的執行個體，將裝置名稱記下來/dev/sdf，點選連接磁碟區。![](https://hackmd.io/_uploads/ry-gNbGU3.png)

16. 需要安装 lvm2
> sudo yum install lvm2
17. 查看Logical volume
> sudo lvdisplay

![](https://hackmd.io/_uploads/r12aIWfU3.png)

18. 若狀態不是LV Status：available，再將它啟動
> sudo vgchange -ay /dev/centos

![](https://hackmd.io/_uploads/r1OND-fU3.png)

19. 創建掛載點並掛載根 LV。替換centos為卷組的名稱、root根 LV 的名稱和sda1引導分區
```
sudo mkdir /mnt/centos-root
sudo mount /dev/centos/root /mnt/centos-root
sudo mount /dev/sdf1 /mnt/centos-root/boot
sudo mount -obind /dev /mnt/centos-root/dev
```
9. 更改系統的根目錄
> sudo chroot /mnt/centos-root
13. 新增 AWS nvme/ena/xen 相關硬體驅動
> echo 'add_drivers+=" ena xfs ext4 nvme nvme-core virtio virtio_scsi xen-blkfront xen-netfront virtio_blk mptbase mptscsih mptspi ixgbevf "' | sudo tee -a /etc/dracut.conf.d/aws.conf
14. 產生新 kernel image 但不改變 kernel 版本
> sudo dracut -f -v
15. 移除 network rule 文件
> sudo cat< /dev/null > /etc/udev/rules.d/70-persistent-net.rules
16. 回到AWS Console，點選分開磁碟區，再點選連接磁碟區連結到原來的執行個體，裝置名稱輸入/dev/sda1![](https://hackmd.io/_uploads/SyWExWG82.png)![](https://hackmd.io/_uploads/Hy_FgWfI3.png)![](https://hackmd.io/_uploads/H1dh0bzU2.png)

17. 使用ssh測試連線若無法連線，選取執行個體後，點選連線，再選擇 EC2 序列主控台 連線![](https://hackmd.io/_uploads/HJ7nuxQLh.png)![](https://hackmd.io/_uploads/BktgKlmU2.png)

18. 確認網卡是否存在
> ifconfig
19. 若找不到網卡，輸入指令會看到類似ethN或ensN的網卡名稱，記下此名稱，以下步驟用ens5在範例
> ip link

![](https://hackmd.io/_uploads/B1zqKgQIn.png)

20. 建立config檔
> vim /etc/sysconfig/network-scripts/ifcfg-ens5
```
DEVICE="ens5"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
PERSISTENT_DHCLIENT="1"
```
21. 啟動網卡
> ifup ens5

