Xử lý Oracle Out of capacity

Oracle Always Free-eligible (miễn phí trọn đời) sẽ cho chúng ta dùng miễn phí 2 Compute VM.Standard.E2.1.Micro và 4 Compute VM.Standard.A1.Flex và 200GB ổ cứng

Tính toán dùng đơn giản thì bạn có thể tạo 2 Compute VM.Standard.E2.1.Micro, mỗi loại dùng 50GB space, 100 GB space còn lại có thể dồn sang 1 Compute VM.Standard.A1.Flex cấu hình mạnh nhất

2023-06-21_19-57-39

Có điều thường các slot Ampere luôn không đủ vì bà con tranh như ăn cướp, chưa kể 1 số thị trường như Singapore hay Japan Tokio …. thậm chí các sot E2.1.Micro còn không có luôn, tạo mới luôn báo hết

Một số thành viên trên Github có viết vài script chạy qua … GitHub để tự tạo VPS trên Oracle, hiểu đơn giản là bạn set sẵn cấu hình VPS, code cứ 10-15s gửi thông tin sang cho Oracle, yêu cầu đăng kí, lúc nào được thì được, ở các thị trường đông như quân nguyên kiểu Singapore, Euro thì đăng kí auto mất từ 1-3 ngày, có khi 2-3 tuần mới có được 1 con VPS free =))

Thường mọi người hay tranh gói Gói A1.Flex, vì cấu hình khủng, RAM nhiều, có điều mình nghĩ Oracle vui vui họ lấy lại, thì lại mất công ngồi tạo

Thành ra mình nghĩ chỉ nên dùng các gói cấu hình thấp nhất E2.1.Micro trên Oracle là đủ rồi

Do mình đang có 1 tài khoản ở Singapore, mà vào đăng kí cứ thấy hết slot liên tục, đành dùng code để tự tạo xem thế nào 😛

Đây là 1 bài theo mình khá mất công, bạn nào lười thì nên bỏ qua, vì làm khá nhiều thao tác

2023-06-24_12-25-45

Giải nén ra ta sẽ có các file và thư mục như trong hình

  • Tiếp theo login vào Oracle, tạo 1 VPS như thông thường (ở đây mình demo tạo E2.1.Micro, A1.Flex về cơ bản cũng tương tự)
  • Ấn F12, sau đó sang tab Network để nhìn

2023-06-24_12-37-01

Khi bạn điền đầy đủ các thông tin, ấn Create sẽ hiện ta thông báo hết slot

Out of capacity for shape VM.Standard.E2.1.Micro in availability domain AD-1. Create the instance in a different availability domain or try again later. If you specified a fault domain, try creating the instance without specifying a fault domain. If that doesn’t work, please try again later. Learn more about host capacity.
  • Bên tab Network bạn sẽ thấy xuất hiện 1 file mới tên là instances, màu đỏ nên rất dễ nhìn
  • Phải chuột sau đó Copy -> Copy all as cURL (bash)
  • Lúc này bạn có thể paste nó vào 1 trình soạn thảo văn bản bất kì, nội dung bên trong thì chi chít chữ hé 😀

2023-06-24_12-47-57

  • Tiếp theo dùng 1 trình soạn thảo văn bản nào đó, mở file Out Of Capacity Error\Amd 1 ram 1 cpu\bot.py

2023-06-24_12-51-44

  • Lúc này bạn sẽ có 2 file như hình, trong đó bên trái là nội dung file bot.py, bên phải là nội dung của instances
availabilityDomains = ["xxxxxxxx"]
displayName = 'xxxxxxxxx'
compartmentId = 'xxxxxxxxx'
imageId = "xxxxxxx"
subnetId = 'xxxxxxxx'
ssh_authorized_keys = "xxxxxxxxxx"

Ta thay các giá trị từ instances sang bot.py

  • Giá trị đầu tiên availabilityDomains thì nó nằm ở phần Placement lúc tạo VPS

2023-06-24_12-54-49

Lúc này đoạn code bên bot.py sẽ là

availabilityDomains = ["hMfS:AP-SINGAPORE-1-AD-1"]
displayName = 'xxxxxxxxx'
compartmentId = 'xxxxxxxxx'
imageId = "xxxxxxx"
subnetId = 'xxxxxxxx'
ssh_authorized_keys = "xxxxxxxxxx"
  • displayName nó là giá trị bạn muốn đặt tên cho VPS, như ở đây mình chọn là haproxy.tech

Lúc này đoạn code bên bot.py sẽ là

availabilityDomains = ["hMfS:AP-SINGAPORE-1-AD-1"]
displayName = 'haproxy.tech'
compartmentId = 'xxxxxxxxx'
imageId = "xxxxxxx"
subnetId = 'xxxxxxxx'
ssh_authorized_keys = "xxxxxxxxxx"
  • Giá trị compartmentId thì bạn search trong file instances

2023-06-24_12-59-58

Lúc này đoạn code bên bot.py sẽ là

availabilityDomains = ["hMfS:AP-SINGAPORE-1-AD-1"]
displayName = 'haproxy.tech'
compartmentId = 'ocid1.tenancy.oc1..aaaaaaaarmwgpqpqhswgz2jr7aud5wjran6q53tf3esvz7mfyxqcatqmtmwa'
imageId = "xxxxxxx"
subnetId = 'xxxxxxxx'
ssh_authorized_keys = "xxxxxxxxxx"
  • Tìm tương tự để lấy giá trị của imageId

2023-06-24_13-02-30

  • subnetId

2023-06-24_13-04-11

  • Về giá trị cuối ssh_authorized_keys, thì nó là khóa public upload lên Oracle, khóa private thì bạn down về máy để cấp quyền khi login, khóa này khá dài, có điều vị trị cuối cùng của nó sẽ là ngày tháng tạo khóa (ví dụ ssh-key-2023-06-18), nên cũng không copy nhầm được

2023-06-24_13-08-46

Lúc này đoạn code bên bot.py sẽ tương tự như thế này

2023-06-24_13-09-52

Code này cũng cho set dung lượng ổ cứng khi khởi tạo, có điều mình thấy tạo xong VPS, thích sửa gì thì tự sửa sau, nên không cần thiết thêm gì vào nữa

  • Lúc này bạn có thể save file bot.py, sau đó copy file này từ thư mục Amd 1 ram 1 cpu ra thư mục Out Of Capacity Error

2023-06-24_13-13-26

Trông nó sẽ như thế này

  • Tạo khóa API

2023-06-24_13-16-40

  • Bên trong tài khoản Oracle, ấn vào avatar của bạn -> My Profile
  • Sau đó nhìn sang trái sẽ thấy tab APi keys, ấn tiếp vào Add API key

2023-06-24_13-20-00

  • Download 2 file private và public key về
  • Sau đó ấn Add bên dưới

2023-06-24_13-45-37

  • Lúc này nó sẽ hiện ra 1 cái bảng, ấn copy để chép toàn bộ nội dung bên trong, sau đó paste nội dung này vào file config
  • Tiếp theo chép file API private key vào thư mục Out Of Capacity Error

2023-06-24_13-22-58

  • Khóa private key nó sẽ không có chữ public ở đằng sau, nên cũng không lo chép nhầm được đâu, đổi tên khóa private thành “oci_private_key.pem”

2023-06-24_13-26-34

  • Sau đó mở file config, ra sửa lại đường dẫn tới oci_private_key.pem

2023-06-24_13-53-44

Về cơ bản, lúc này chúng ta đã xong bước cấu hình 😀

Trong file instructions.txt, tác giả đã có hướng dẫn cụ thể chạy trên Windows, Linux hay GitHub

Mình lược dịch cơ bản chạy trên Ubuntu và Windows

Setup chạy trên Ubuntu

  • Update packages
apt-get update -y && apt-get upgrade -y
  • install python3,pip,screen and git
apt-get install python3 -y && apt-get install python3-pip -y && apt-get install screen -y && apt-get install git -y
  • install python packages
pip install requests && pip install oci
  • Chạy tiếp
apt-get remove python3-pip -y && wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && sudo reboot
  • Lúc này VPS sẽ khởi động lại, chờ chút vào lại thì chạy tiếp
pip install pyopenssl --upgrade
  • Chạy screen
screen
  • Đi tới thư mục Out Of Capacity Error (do trên Ubuntu, thư mục có khoảng trắng nhiều quá, nên mình phải đổi tên thư mục thành oracle_error )
cd /root/oracle_error
  • Chạy
python3 bot.py
  • Chạy bên trong màn hình screen là nó sẽ liên tục chạy, bạn có tắt màn hình trên máy thì nó vẫn đang chạy trên server

2023-06-21_19-46-32

Setup chạy trên Windows

  • Cài đặt Python 3.11.4
  • Tiếp theo gõ trực tiếp cmd, sau đó enter ngay tại đường dẫn thư mục

2023-06-24_14-06-02

  • Lúc này đường dẫn nó đã chính xác sẵn tới thư mục Out Of Capacity Error

2023-06-24_14-11-42

  • Bên trong CMD, gõ tuần tự các lệnh
pip install requests
pip install oci
  • Để chạy script thì gõ
python3 bot.py

2023-06-24_14-14-15

Cụ thể nếu bạn set như mặc định thì tác giả đang để script cứ 10s sẽ chạy lại 1 lần 😀 nó sẽ chạy cho tới khi nào tạo thành công 😛

Về thời gian chạy bao lâu thì tùy khu vực, như mình chạy trên cụm location Singapore thì khoảng 4 ngày mới tạo được thành công 1 con VPS, ở các cụm đông đúc hơn, thì có khi 2-3 tuần mới tạo được 😀

2023-06-24_10-31-41
Nếu bạn đọc tới dòng này, thấy quá là ngu người, thì có thể thử dùng phương pháp đơn giản hơn là nâng cấp tài khoản lên Pay As You Go, nó giải quyết triệt để lỗi Out of capacity và cũng an toàn hơn cho tài khoản của bạn

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback.
Notes: However, those deemed to be spam or solely promotional will be deleted.

You can create a Gravatar account, add avatar, then use that email to comment here, your account will have a more beautiful Avatar, easier to recognize with other members.

Please use real emails, you can receive notifications when comments are replied