標籤: linode

  • Linode 伺服器調整規格與調整硬碟空間配置

    常常會有需要調整 VPS 規格的狀況,一般通常會有幾個狀況需要調整規格:

    1. 應用程式需要更多,或是更少的 CPU / 內存(Memory)
    2. 硬碟空間不足,但是不想要另掛儲存空間
    3. 發現目前使用量太少了,目前規格過高需要調低

    我們以調整 Linode 的 VPS 服務操作介紹,首先需要確認以下幾個項目:

    1. 調整的是 Linodes ,也就是 VPS 主機服務的規格。
    2. 調整無法更換地區,如果需要更換地區請使用 clone 服務,IP 也會更換,如果 VPS 內應用程式有依賴 IP 的話,或是 DNS 服務需要特別注意是否能夠更改。
    3. 更換前需要確認該 VPS 配置的硬碟空間是否符合目標規格所使用的硬碟空間。
    4. VPS 更換規格大約會停機 5 – 30 分鐘,如果是已經上線產品的話要注意是否是離峰時段。

    以下介紹至 2022-10-07 當前的版本下如何操作更換規格:

    首先登入以後會看到你的 VPS 服務器列表,選一個。

    可以從列表上選擇,或是點進去 VPS 後選擇 Resize 選項。

    選擇 Resize 後,會彈出一個視窗,可以選擇對應的規格。

    選擇規格後,注意 Auto Resize Disk 選項,如果勾選了表示他將會隨著規格上的硬碟自動配置。這樣之後要降規格時會需要特別調整。

    最後在 Confirm 上輸入要求的內容(作為確保輸入無誤用途)後,Resize Linode 按鈕就會顯示可點擊狀態,點擊該按鈕送出即可。

    在 Linode VPS 上特別要注意的是 Auto Resize Disk 這個選項,如果沒有硬碟空間的需求,或是暫時調高規格的話,是可以不需要勾選的。

    果需要調整硬碟空間,要注意以下幾點:

    1. 購買的硬碟空間不等於這台 VPS 分配的硬碟空間
    2. 配置硬碟空間時需要停止主機才能啟用

    首先,要先確認主機是否關閉,如果沒有關閉的話要先 Power Off。

    接者往下滑動(需要等一下或是再刷新一下頁面),選擇 Storage 選項,接著在主要硬碟(這個例子是 “CentOS 7 Disk” 這個項目,我們可以看到他的 Size 是 258088 MB。如果有另外開,則需確保總共的容量)中。選擇 Resize 這個連結。

    點擊後可以看到 Size 這個選項可以輸入以 MB 為單位的硬碟配置空間,底下有一個 Maximun Size 顯示當前可以配置的總空間數量,輸入數字無法超過這個最大上限。輸入完後,點擊 Reszie 按鈕送出,再重新啟動 VPS 主機即可生效。

    提醒一下:請注意目前硬碟實際佔用空間,輸入最小數量請勿低於實際佔用空間。
    查看實際佔用空間可以參考使用指令,參考指令文件

    df -h

  • 排程檢查服務是否正常

    好久以前遇到一些伺服器鬼故事,所以參考網路上的資料,弄了一個排程檢查系統服務的機制,配合上 crontab 可以使用。

    原則上,這個做法和把程式 try / catch 包起來一樣,掩耳盜鈴的行徑。在沒有安全疑慮的狀況下,建議配合 log 確認系統紀錄,這樣可以保持穩定又可以找到系統問題,不失為一個權宜之計。

    使用的環境是 CentOS7 / Linode VPS ,從指令上來看應該 debian 系列的也可以用才對。

    操作上只要把 service 的變數替換為對應的服務名稱即可,以下是 mysql 檢查重啟的 code.

    #!/bin/bash
    
    PATH=/usr/sbin:/usr/bin:/sbin:/bin
    
    service=mysql
    if [[ ! "$(/usr/sbin/service $service status)" =~ "running" ]]
    then
        echo "`date "+%Y-%m-%d %H:%M:%S"` | [logadm -on@`date "+%Y%m%d%H%M%S"`] "
        echo "$service is stop!!"
        /usr/sbin/service $service start
    else
        echo "`date "+%Y-%m-%d %H:%M:%S"` | [logadm -on@`date "+%Y%m%d%H%M%S"`] "
        echo "$service is running"
    fi

    同場加映,今天寫這篇時,網路上再找了一下,找到一些比較進階的檢查 code:

  • Docker 初體驗

    最近在嘗試用 docker 建構各種環境,目標有 N 個:

    1. 實現 docker 的優勢,讓開發環境和正式環境一致,去除可能的環境差異
    2. 讓環境設定模塊化,搭配已經整理好的設定檔案,減少重複架設的工作內容
    3. 環境設定可以更為彈性和獨立,降低耦合,增加不同語言協作的可行性。

    我想打造一個可以無腦部署又有彈性而且開發成本低的系統部署方法就是。

    這邊弄了一個 LEMP 的結構,未來應該會在不斷新增各種可選的設定檔案上去這樣。

    GitHub – lazyjerry/docker-compose-lemp-stack: Docker Compose LNMP 結構安裝
    Docker Compose LNMP 結構安裝. Contribute to lazyjerry/docker-compose-lemp-stack development by creating an account on GitHub.

    有興趣可以幫我點星星和留言。

    先說設定檔案我都是網路上直接抓模板還有抄各種 hosting panel 的設定檔,到時還要再優化是真的。

    目前玩到這裡的有些結論,記錄起來避免忘記:

    1. 這肯定套件王愛用,hub 上很多已經有配置好的,每個都是獨立的一包不會互相依賴。
    2. 不會互相依賴也是有壞處,一些基礎的套件要分開裝,所以使用 docker 還是有門檻在。
    3. 設定檔案先寫好,docker 的優勢就會出來,到時一包一個配置好裝起來就可以用。
    4. 但是因為設定檔案必須先寫好的原因,所以如果在本機開發環境上,常常會遇到一次要開不同的案子,這邊本機用 docker 就會囧囧的。
    5. 所有的 config 建議 mont 到宿主機的磁碟上,這邊如果不是使用官方的 docker image 就會囧囧,很多 docker 會包成一包,這樣違反 docker 無狀態的精神,建議套件王避開這種 image。
    6. 不要把 docker 當作 VM 來跑作業系統,這樣彈性就跑掉了。然而我也不懂是為什麼會有文章寫不建議 docker 跑 mysql ? 這個問題待釐清就是。

    這裡有一份對岸知乎的比較文章,簡體字閱讀功能沒障礙的話推薦可以看一下:

    请问各位业界人士,Docker的优缺点有哪些? – 知乎
    如题,有一篇相关论文提到了docker。我随便看了看感觉这东西缺点很多,尽管安装后使用可以省掉很多安装第…


    同場加映 附上 Docker 安裝步驟

    安裝套件

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    docker.repo 中也同時包含 edge 版本的 Docker 套件庫,不過預設是被停用的,想安裝 edge 版本的話,就要先啟用 edge 版本的套件庫(如果只是要安裝 stable 版本的人,就可以省略這一步):

    sudo yum-config-manager --enable docker-ce-edge

    更新 yum 的套件索引:

    sudo yum makecache fast

    安裝 Docker CE 版:

    sudo yum install docker-ce

    第一次安裝 Docker 的時候,會需要匯入 GPG 的金鑰,Docker CE 版的金鑰指紋是 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 確認無誤就選擇 y 匯入。

    安裝好之後,啟動系統的 Docker 服務:

    sudo systemctl start docker

    執行 hello world 程式測試:

    sudo docker run hello-world

    安裝 docker-compose

    curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose

    建立連結

    ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    測試版本,應該要顯示版本號碼

    docker-compose --version
    
    # docker-compose version 1.29.2, build 1110ad01

    啟動 docker

    systemctl start docker;systemctl enable docker;




    參考資料:

    專家觀點:Docker架構優缺點大剖析
    深入研究Docker原始碼、著有《Docker源碼分析》而大受好評的中國Docker …
    Share Compose configurations between files and projects
    How to use Docker Compose's extends keyword to share configuration between files and projects

    GitHub – stevenliebregt/docker-compose-lemp-stack: Docker Compose Linux Nginx MariaDB PHP7.2 Stack
    Docker Compose Linux Nginx MariaDB PHP7.2 Stack. Contribute to stevenliebregt/docker-compose-lemp-stack development by creating an account on GitHub.

    可以裝起來抓裡面的設定檔案樣板,滿實用我覺得

    GitHub – aaPanel/BaoTa: 宝塔Linux面板 – 简单好用的服务器运维面板
    宝塔Linux面板 – 简单好用的服务器运维面板. Contribute to aaPanel/BaoTa development by creating an account on GitHub.

    2021-07-29 update

    推薦一個不錯的筆記:

  • Linode VPS 轉移擁有權限

    Linode 是一個總部建立於美國紐澤西州加洛偉的虛擬專用伺服器(VPS)提供商。它的名字是由英文中 Linux 中的 Li 和 node(即「節點」一詞)構成的混成詞。如同它的名字一樣,Linode 只提供執行 Linux 的伺服器,而不提供執行 Windows Server 或其他作業系統的伺服器。它的服務一向以穩定著稱。

    WIKI 維基百科 – https://zh.wikipedia.org/wiki/Linode

    當系統開發完成以後,會遇到有沒有需要將伺服器交接給客戶的選擇。一般除非是要自己維護,要不伺服器的租金等都會請客戶開一個帳戶、設定好支付管道,然後把伺服器的權限轉移到客戶帳戶裡面。

    Update 2021-07-11: 最近在做轉移擁有權限時,客服提醒現在已經有自助式的操作方法。

    自助鏈結:https://cloud.linode.com/account/service-transfers

    原文:

    The Service Transfer feature can be used to transfer ownership of certain Linode services to another account. Here’s how it works:

    1. The sending account initiates a transfer by generating a Service Transfer token.
    2. The sending account sends the Service Transfer token to the receiving account by email or other method.
    3. The receiving account uses the Service Transfer token within 24 hours to accept the transfer between the two accounts.
    4. Once completed, billing for transferred services ends for the sending account and begins for the receiving account. Linode services will not experience interruptions due to the transfer process.

    Things to keep in mind:

    • If any of the Linodes included in the request have our Backup Service enabled, the Backup Service and its associated backups will be transferred as well.
    • DNS records will not be transferred or updated. Please ensure that DNS records have been updated or communicated to the recipient prior to the transfer.
    • Service Transfers cannot be cancelled once they have been accepted by a receiving account. Take care when sharing your Service Transfer token, and only transmit it in a secure manner.
    • Only Linode plans are available for transfer at this time.

    More information on self-service Linode transfers can be found in the following doc: https://www.linode.com/docs/guides/service-transfers

    這邊幫忙翻譯一下:

    服務轉移功能可用於將某些 Linode 服務的所有權轉移到另一個帳戶。這是它的工作原理:

    1. 發送帳戶通過生成服務傳輸令牌來啟動傳輸。
    2. 發送帳戶通過電子郵件或其他方法將服務傳輸令牌發送到接收帳戶。
    3. 接收賬戶在 24 小時內使用 Service Transfer 令牌接受兩個賬戶之間的轉賬。
    4. 完成後,傳輸服務的計費將在發送帳戶中結束,在接收帳戶中開始。Linode 服務不會因傳輸過程而中斷。

    要記住的事情:

    • 如果請求中包含的任何 Linode 啟用了我們的備份服務,備份服務及其關聯的備份也將被傳輸。
    • DNS 記錄不會被傳輸或更新。請確保在傳輸之前已更新 DNS 記錄或將其傳達給收件人。
    • 服務轉賬一旦被接收賬戶接受,便無法取消。共享您的服務傳輸令牌時要小心,並且只以安全的方式傳輸它。
    • 目前只有 Linode 計劃可供轉讓。

    有關自助 Linode 轉移的更多信息,請參見以下文檔:https : //www.linode.com/docs/guides/service-transfers

    以上。

    然後,昨天 Linode 有些問題,導致連線都連不上,紀錄一下。

    2020-07-10 Linode 服務出問題啦,這是 11 號說明已經獲得控制的狀況

    —– 如果還是想要發 ticket 的話可以參考以下 —–

    轉移的方法就是聯繫客服啦!目前在 Help & Support 選單中往下滑, Customer Support 裡面,可以創建 ticket 發給客服

    這邊紀錄一下聯繫客服會用到的 ticket 樣板:

    首先,要轉移的帳號先發信:
    標題:Please Help Me Transfer The VPS

    Please Help me Transfer The VPS To 新帳號 Account.
    The Linode name is 伺服器名稱, ip is IP名稱.
    Transefer to account ‘新帳號’.
    Thank you.

    然後會產生一個 ticket 的編號,這時切換到新帳號,表明要允許這個這個 ticket 編號的請求:
    標題:Accept The Support Ticket 編號

    Hi, I accept the Support Ticket
    #編號
    The Linode name is 伺服器名稱,,
    Ip is IP名稱.
    The username of the sending account is ‘原來的帳號’.

    兩邊都發出 ticket 以後就可以等待客服回覆啦,一般通常一個工作天內就會處理上的,保險起見建議抓兩個工作天來處理這樣。

  • VPS 廠商推薦

    虛擬專用伺服器(英語:Virtual private server,縮寫為VPS),是將一台伺服器分割成多個虛擬專用伺服器的服務。實現VPS的技術分為容器技術和虛擬機器技術。在容器或虛擬機器中,每個VPS都可分配獨立公網IP位址、獨立作業系統、實現不同VPS間磁碟空間、記憶體、CPU資源、行程和系統組態的隔離,為使用者和應用程式類比出「獨占」使用計算資源的體驗。VPS可以像獨立伺服器一樣,重新安裝作業系統,安裝程式,單獨重新啟動伺服器。VPS為使用者提供了管理組態的自由,可用於企業虛擬化,也可以用於IDC資源租用。

    維基百科

    老實說 Web Hosting 和 VPS 是有差異的,可以參考這裡,不過自己是純使用者,主要還是好用比較重要。這邊依照文中的參考,整理一下覺得好用的 VPS 廠商以及心得和注意事項。

    個人認為,好用的 VPS 商有幾個特色:

    • 安全穩定
    • 操作簡單
    • 價格合理
    • 付款便利
    • 客服回應速度快

    除了這些以外,加分的優點也有:

    • 功能多方便
    • 提供 API 串接

    大概是這些。以下介紹幾個有用過覺得推推的廠商。

    AWS

    這家的特色就是功能超級多,除了 SE2 的虛擬主機以外,也鼓勵把各種服務切割開來不是放在一台主機當中,像是 S3 提供儲存服務、RDS 作為數據庫、Route 53 作為域名系統服務等等,堪稱以一擋百,價格也是以一擋百,如果有金可課的話,推薦這家是很不錯的。很多企業的服務到一定程度的商業規模以後,也會開始考慮是否使用 AWS 作為服務的載體。

    Amazon Web Services (AWS) – Cloud Computing Services
    Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.

    阿里雲

    ”上雲就上阿里雲“,可以看作中文版的 AWS 服務,功能和價格也很像的。另外也有專門提供了域名在中國的網域備案服務,這是只有在伺服器再設在中國境內時,使用網域域名才需要的服務。要注意的是:阿里雲的域名備案和其他域名備案的系統不太相同,如果有需要在其他服務商備案,如果把網站或服務轉到阿里雲上,備案會有些問題,記得需要先確認在阿里雲上備案是否可用。另外類似的服務也有像是騰訊雲或是華為雲之類的,可以參考看看。

    Alibaba Cloud: Reliable & Secure Cloud Services
    Empower your global business with a integrated suite of reliable & secure cloud computing services.

    Linode

    這算是目前用的比較長久的平台,從以前只提供一組虛擬主機開始,到後來提供域名管理、儲存服務,到現在可以自訂 script 提供一鍵安裝服務(雖然可用的服務還沒很多),是越來越多功能可以用。隨然不比上面所敘述的 VPS 那麼多功能,但是也是相當方便的。

    Linode | The Independent Open Cloud for Developers
    Our mission is to accelerate innovation by making cloud computing simple, affordable, and accessible to all.

    Vultr

    這家和 Linode 有點像,差異在於他可以在網頁管理介面中設定虛擬主機的開放 port(安全組),也提供除了信用卡以外的支付管道(不過有些已經禁用了)。

    High Performance and Cheap Cloud Servers Deployment – Vultr.com
    View details and pricing information for the most popular Vultr plans.

    Google 雲端平台

    這個服務非常複雜,Google 本身已經有相當多的服務,後來有提供 Compute Engine 的整合服務,這邊提供他的說明鏈結。個人使用的心得是貴貴的,但是速度和穩定度都算不錯,不過操作的介面速度有一些慢。

    Compute Engine: Virtual Machines (VMs)  |  Google Cloud
    Compute Engine delivers configurable virtual machines running in Google’s data centers with access to high-performance

    Azure

    這算是有名的服務了,接觸過很多台灣的網站服務商會使用微軟的這個服務。個人使用的經驗是提供的功能堪比 AWS,但是不知道是不是每次操作時網路都不好,Azure 的網頁操作介面有夠慢。

    Cloud Computing Services | Microsoft Azure
    Invent with purpose, realize cost savings, and make your organization more efficient with Microsoft Azure’s open and flexible cloud computing platform.

    以上是幾個還滿好用的 VPS 廠商,還有很多很多網路上找有一堆,台灣的廠商就先不介紹了,如果看得懂文章的話通常直接搜尋也會找得到。這邊放幾個至今找到還算中肯的評價網頁:

    學習VPS的重要性與各大Linux VPS 比較(Linode, DigitalOcean, Vultr, AWS Lightsail)
    學會了基本的Linux基本管理,就應該要在網路上租用一個主機好好的玩它一下

    要注意排名或推薦的文章中有一部分是所謂的 Web Hosting ,如果有需要使用到 Web Hosting ,個人經驗是為了要快速架站、使用量小、功能單一的網站,或是架設了以後可以不用管系統效能調校的服務,像是用 wordpress 架設的企業形象網站就相當適合Web Hosting,但如果要用 wordpress 搭配 woocommerce 做電商,建議還是確認一下Web Hosting 的服務商的資源限制以及價格啦!