KVM 虛擬機器備份與還原之一 記憶體備份與還原

有了建立vm的自動化指令碼,有了刪除vm的自動化指令碼,生活已經簡單很多。但是在某個測試情境中,我們經常需要不斷的將vm還原到某個起點,然後重新開始測試。每次都刪除/建立vm仍然很慢。這個時候,可以使用save/restore方法。save/restore方法只備份與還原當前系統的記憶體狀態,並不會備份磁碟檔案。 因此耗時極短,但是使用場合有限,特別注意。virsh save --bypass-cache vm2 /opt/vm2_save

KVM虛擬機器關閉

shutdown命令可以用於優雅的關閉kvm虛擬機器,但是為什麼總是關不掉。比如想關掉vm2,就是不行。virsh shutdown vm2因為virsh通過下面的命令關閉虛擬機器QEMU/KVM shutdown這會導致向虛擬機器發送一個ACPI的指令,而預設安裝kvm虛擬機器的時候,沒有安裝acpid程式,因此虛擬機器沒有處理改指令。解決方案是在虛擬機器裡面安裝:apt-get install acpid然後就可以優雅的關閉虛擬機器了。和destroy這種粗暴的關閉方式說再見吧。

KVM建立虛擬機器後指定啟動指令碼

在vmbuilder命令中建立vm時,可以通過參數虛擬機器第一次啟動的時候執行的指令檔。但是由於這個時候虛擬機器網路可能還不通,必須要延遲一會兒,才能保證一些apt-get install命令能夠順利執行。下面的指令碼是我常用的,貢獻出來:boot.sh檔案內容:# Set time zone

常用cl編譯命令參數解釋

緊接前文,第一行cl命令如下:1> cl /c /IC:\...\include /ZI /nologo- /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"stdafx.h" /Fp"Debug\HelloWorld.pch" /Fo"Debug\\"

boost::asio 串連管理5

重新看一下優雅的退出,還是有些不完善。因為當收到退出訊號的時候,直接關閉了io_service,而不是關閉所有串連再退出。其實應該按照順序做三件事情:1.拒絕新的TCP串連2.關閉所有已有的串連3.關閉io_service1很簡單,只需要調用一次acceptor_.close()即可。2.每個Connection類應該提供一個CloseSocket方法,內部調用socket.close().

boost::asio 串連管理4

this指標不能在這種情況下綁定後交給asio使用。那麼怎麼辦?很簡單,我之前的一篇文章介紹過enable_share_from_this。http://blog.csdn.net/sheismylife/article/details/8282518現在修改一下Connection類的代碼:class Connection: public boost::enable_shared_from_this<Connection> {public:

boost::asio 串連管理8

到上一篇,一個完整的單線程版本就出現了。如果並發要求不高的話,單線程+非同步I/O已經足夠了。但是如果想支援大並發,自然需要儘可能的利用伺服器上的多個CPU和核。現在首先把之前的工程改成cmake工程。頂層目錄的CMakeLists.txt內容如下:cmake_minimum_required(VERSION 2.8)project (TcpTemplate)add_subdirectory(src

CppCMS應用啟動順序問題

今天碰到了一個開機啟動順序問題,記錄下來,update-rc.d 有一篇部落格寫的很好。http://wangyan.org/blog/ubuntu-update-rc-d.html我的CppCMS應用啟動之前需要先啟動MongoDB, Mongodb的 啟動順序採用的是預設20,因此CppCMS應用的啟動順序要大於20,我採用如下命令:update-rc.d cppweb start 21 2 3 4 5 . stop 21 0 1 6 . Adding system startup for

Ubuntu KVM Client OS建立 一

前面的文章解決了網路問題後,才能繼續下去:http://blog.csdn.net/sheismylife/article/details/8070072參考該文的嚮導:http://www.howtoforge.com/virtualization-with-kvm-on-ubuntu-12.04-lts進入要建立的虛擬機器檔案的目錄:cd /var/lib/libvirt/images現在我打算建立三個虛擬機器,分別在vm1,

CppCMS模板系統

CppCMS不知不覺已經用了很久了,產品也開發了幾個。不過CppCMS的版本一直在演化,1.0已經正式發布,文檔也在不斷增加和更新。本篇從自己的體會談談模板系統(template system).下面這篇文章系統的介紹了template system。本文部分選取其中的例子,但是從我的角度重新解釋。作者的文章有時候不是那麼容易理解。http://cppcms.com/wikipp/en/page/cppcms_1x_templates_gen用模板自動產生C++類由於CppCMS也是MVC系統,

cppcms application的理解

最近因為網站要支援nginx的動態負載平衡,因此要去掉cppcms內建的session機制。就順便研究了一下cppcms的application。準確的講,研究的是application類的子類的生命週期. 按照cppcms的規則,我們必須自己從application繼承出自己的類,比如MyApp, 邏輯上,這個類的對象會被緩衝到application

bash 指令碼編程十三 環境變數的設定函數

可以將前面的環境變數設定代碼封裝成函數,以後可以反覆使用:# $1 variable name# $2 expected value# put this into /etc/environment if not foundfunction setEnv { source /etc/environment if [ "${!1}" = "$2" ] thenecho "$1 is correct: $2" elseecho "$1 is wrong: ${!1} != $2

CppCMS支援檔案上傳

HTTP檔案上傳先製作一個簡單的html頁面,只包含了一個form<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> test upload </head> <body> <form method="post" name="submit"

CppCMS程式自動安裝

和前面Java程式自動安裝思路一樣,為什麼不自己寫個簡單的指令碼來組裝這一切呢。工具當然好,不過瞭解幕後仍然是必要的,永遠站在巨人的肩膀上和不要重複造車輪子這兩句話有時候會阻礙優秀的程式員成長。我的C++網站基於CppCMS庫,採用CMake編譯,目標部署平台是Ubuntu12.04 server(AMD64bit)。首先,在工程目錄下,建立create_deploy.sh指令碼。#!/bin/bashsource ./tool.shremoveFolder buildmkdir

bash 指令碼編程十四 maven自動部署

和Java自動部署的思路一樣,通過在/usr/bin下建立mvn連結,指向/etc/alternatives/mvn連結,/etc/alternatives/mvn指向/usr/mvn3連結,/usr/mvn3連結指向/usr/apache-maven-3.0.4目錄。由於maven運行是要檢查JAVA_HOME環境變數,而JAVA_HOME環境變數的設定可以放在安裝Java的指令碼中執行。現在看一下maven的安裝指令碼install.sh#!/bin/bash source

bash 指令碼編程十六 NFS server自動部署

現在建立nfs/server目錄,這個指令碼要自動安裝並配置nfs server。install.sh指令碼:#!/bin/bash source ../../common/tool.shnfs="nfs-kernel-server"hasDpkg $nfsr=$?if [ $r -eq 1 ]then echo "$nfs was installed"else echo "$nfs was not installed" apt-get install $nfsfiif [ -

booster log 庫介紹

用什麼在C++程式裡面寫日誌?一直在等待boost發布真正的日誌庫,就是不見蹤影。以前用的log4cxx也太老了。在使用CppCMS的時候,發現了Artyom開發的booster::log,用法簡單,值得推薦。編譯CppCMS的方法請看我以前的部落格。然後在你的C++代碼中這樣寫:#include <booster/log.h>#include <booster/shared_ptr.h>/* * */int main(int argc, char** argv) {

bash 指令碼編程十八 Keepalived自動部署

緊接前面手工部署Keepalived的文章,這次來自動部署。建立keepalived目錄,裡面已經存放了下載並解壓的keepalived-1.2.7目錄,包括和用於作為系統服務的keepalived指令碼注意,是前面一文修改過後能用於ubuntu的版本。install.sh指令碼內容:#!/bin/bash source

bash 指令碼編程十九 Nginx自動部署

自動化部署達到以下幾個目的:1.編譯2.安裝3.產生HTTPS 認證4.配置5.設定Ubuntu 服務首先將Nginx的壓縮包解壓並放在工程目錄下,然後將要準備的的設定檔放在conf目錄下,還有作為service需要的啟動指令檔nginx目錄結構如下:# tree -L 2tree -L 2.├── conf│   ├── agol.conf│   └── nginx.conf├── install.sh├── install.sh~├── nginx└── nginx-1.2.3 ├──

Ubuntu 12.04 & 13.04 安裝 GCC4.8.1

終於有了完整實現C++11的GCC 4.8.1.給自己的系統升級吧。下面的步驟可以安裝GCC4.8.1, 內容來自:http://askubuntu.com/questions/312620/how-do-i-install-gcc-4-8-1-on-ubuntu-13-04先安裝一個軟體apt-get install python-software-properties然後sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo

總頁數: 61357 1 .... 18107 18108 18109 18110 18111 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.