Подтвердить что ты не робот

Как заменить корень ebs на другой корневой объем ebs?

Я случайно отформатировал свою систему, и ключи доступа к тому ec2 также были удалены. Поэтому я остановил экземпляр и отделил объем ebs.
Однако я не могу подключить его к другому экземпляру ec2 как root (/dev/sda1). Может ли кто-нибудь направить меня через это? Все мои данные и файлы сервера находятся в томе.
Я установил первый том ebs и на второй экземпляр и просмотрел файлы там. Все они целы. Если он не может быть установлен в качестве корневого тома, мне нужен способ получить все данные mysql из тома, так как на нем размещено несколько сайтов Wordpress. Я могу получить доступ к файлам wordpress, но я не знаю, как получить базу данных из экземпляра.
Любое из решений спасет мою жизнь... Большое спасибо

4b9b3361

Ответ 1

Что вам нужно сделать:

  • Остановить экземпляр
  • Отсоедините текущий корневой EBS
  • Прикрепите новую EBS под /dev/sda1 (для Linux) и /dev/xvda (для Windows)
  • Запустите свой экземпляр

Технически это. В случае возникновения проблем вы всегда можете присоединить EBS в качестве ненарушенной EBS (например, /dev/sdb) и просматривать файлы и исправлять ошибку, если это возможно.

Ответ 2

Краткое описание ответа @Avihoo Mamka.

Если к вашему экземпляру подключено несколько дисков, и вы просто хотите изменить корневой диск, сначала нужно отсоединить все остальные диски, и только после этого вы можете добавить новый корневой диск в качестве /dev/sda 1 (для Linux )

Ответ 4

write-output "********ToolForReplaceRootVolumeWithSnapshot*********"
write-output ""
Write-Output "******************************************************
The tools main purpose is to create a new instance by using the Standard AMI and then stop the instance, detach the ebs volume, and delete it.Then using the snapshot which provided by the user to create a new volume and attach it to the instance. Then start the instance and report the instance ID
*******************************************************"
Write-Output "Please Press enter to continue..."
$Choose=Read-Host
Write-Output "Firstly, We will try to create a EBS volume base on the SnapshotID"
Write-Output "Please input the snapshot ID which you provided"
$SnapshotID=Read-Host
Write-Output "Please input the Availability Zone which you provided"
$AZ=Read-Host
Write-output "Creating EBS volument ....."
$EBS_Result=aws ec2 create-volume  --availability-zone $AZ --snapshot-id $SnapshotID --volume-type gp2
Write-output "The EBS voulmn which you create is list below."
echo $EBS_Result
$EBSObject=echo $EBS_Result | ConvertFrom-Json
$NewVolumnID=$EBSObject.VolumeID
echo $NewVolumnID


Write-Output "Secondaly, We will try to create a instance base on the AMI which you specify"
Write-Output "Please Input the AMI ID which you want to use." 
$AMIID=Read-Host
Write-Output "Please input the key-name that you want to use."
$KeyName=Read-Host
Write-Output "Please input the Security Group that you want" 
$SecurityGroup=Read-host
Write-Output "Please input the subnetID that you want" 
$SubNet=Read-host
Write-Output "The syste will going to create a instance by using the info that you provided"
$InstanceID=aws ec2 run-instances --image-id $AMIID --count 1 --instance-type t2.micro --key-name $KeyName --security-group-ids $SecurityGroup --subnet-id $SubNet --placement "AvailabilityZone=$AZ"
Write-Output "The EC2 information was listed below"
echo $InstanceID
$Instance=echo $InstanceID | ConvertFrom-Json
$id=$Instance.Instances.InstanceId
echo $id


$DecribeResult=aws ec2 describe-instances --instance-ids $id
$oldEBSID=(echo $DecribeResult | ConvertFrom-Json).Reservations.Instances.BlockDeviceMappings.Ebs.VolumeId
Write-Output "The Old EBS volume ID is list below"
echo $oldEBSID


Write-Output "Going to stop the instance, However, We should waiting for 1 minutes to let the instance start finished."
sleep(60)
$stop_result=aws ec2 stop-instances --instance-ids $id
echo $stop_result
Write-Output "In order to make sure the instance is sleeped. stop 80s for easy"
sleep(80)

Write-Output "Trying to detach the volume"
$detachResult=aws ec2 detach-volume --volume-id $oldEBSID
echo $detachResult
Write-Output "Inorder to make sure the detach is finished. stop 10s for easy"
sleep(10)

Write-Output "Trying to attach the new volume"
aws ec2 attach-volume --volume-id $NewVolumnID --instance-id $id --device /dev/sda1
Write-Output "Trying to start the instance"
aws ec2 start-instances --instance-ids $id



Write-Output "Trying to delete the old volume"
aws ec2 delete-volume --volume-id $oldEBSID

Write-Output "Now you can trying to contact the below instanceID"
echo $id
$end=read-host