Linux下的磁碟克隆
如果一個機房有多臺伺服器,在一臺上安裝完Linux後,怎樣把這個系統盤克隆到其他磁碟,最簡便的方法就是用Linux dd命令,不需要藉助Ghost之類的第三方程式。況且Ghost對Linux的支援似乎不太好。
使用dd
dd是一個簡單,多功能,強大的工具。可以用來把資料按照塊順序從源位置複製到目標位置,並且不管檔案型別和作業系統。一種快捷的方法就是從live環境中使用dd,比如從Live CD上。
警告:像任何這種型別的命令一樣,你使用的時候需要非常小心。這個命令可以毀壞資料。記住輸入檔案(if=)和輸出檔案(of=)的順序,不能顛倒!時刻保證目標磁碟或者分割槽(of=)的容量等於或大於源位置(if=)的容量。
克隆一個分割槽
從物理磁碟/dev/sda 分割槽1 到物理磁碟/dev/sdb 分割槽2。
# dd if=/dev/sda1 of=/dev/sdb1 bs=512 conv=noerror,sync
警告:如果輸出檔案of=(上面例子的sdb1)不存在,dd會建立一個這個名字的檔案,然後開始填充你的root檔案系統!
克隆一個完整的硬碟
從物理磁碟/dev/sdX到物理磁碟/dev/sdY
# dd if=/dev/sdX of=/dev/sdY bs=512 conv=noerror,sync
這個命令會克隆整個磁碟,包括MBR(因此也包含bootloader),所有分割槽,UUID和資料。
- noerror 指定dd命令繼續操作,忽略所有的讀錯誤。dd預設行為是會在任何錯誤時候停止
- sync 如果有讀錯誤,把輸入的塊填0,所以資料偏移在sync設定時保留
- bs=512 設定塊大小512bytes,對於硬碟來說是“經典”的塊大小。只有在你的硬碟是4Kb塊大小時,你才可以用4096而不是512。同時,請閱讀下面的警告,因為這個不僅僅是“塊大小”,它同時會影響到如何處理讀錯誤。
如果你很樂觀,你的磁碟不會有任何的錯誤,那你可以使用更大的塊大小,這樣會成倍增加拷貝速度。比如,在一個單賽揚2.7GHz的系統上,把bs從512改變到64K會把拷貝速度從35MB/s增加到120MB/s。但是記住源磁碟上的讀錯誤會導致目標磁碟上的塊錯誤。比如,一個512byte的讀錯誤會破壞整個64Kb的輸出塊資料。
技巧:如果你想檢視dd的進度,用status=progress選項
補充:
- 重新獲得ext2/3/4檔案系統的唯一UUIDs,在每個分割槽上使用 tune2fs /dev/sdXY -U random
- dd導致分割槽表的變化沒有註冊到kernel中。如果要不重啟讓改變生效,使用工具諸如partprobe(GNU Parted)
備份MBR
MBR儲存在磁碟的第一個512bytes中,包含以下三部分。
- 開始446bytes包含boot loader
- 接下來64bytes包含分割槽表(每項16bytes,4項,每個主分割槽對應一項)
- 最後2bytes包含identifier
# dd if=/dev/sdX of=/path/to/mbr_file.img bs=512 count=1
恢復(謹慎操作,恢復可能會損壞現有的分割槽表,以至於無法訪問磁碟上的所有資料):
#dd if=/path/to/mbr_file.img of=/dev/sdX
如果你只是想恢復boot loader,而不是主分割槽表,只是恢復MBR的前446bytes資料:
#dd if=/path/to/mbr_file.img of=/dev/sdX bs=446 count=1
只恢復分割槽表,使用:
#dd if=/path/to/mbr_file.img of=/dev/sdX bs=1 skip=446 count=64
同樣,你也可以從一個完整的dd磁碟映象中獲得MBR:
#dd if=/path/to/mbr_file.img of=/dev/sdX bs=1 bs=512 count=1
建立磁碟映象
1. 從live介質啟動
2. 確保沒有分割槽掛載在源硬碟上
3. 掛載外接硬碟
4. 備份硬碟
把源盤中的內容壓縮後放在本地磁碟目標位置
#dd if=/dev/sdX conv=sync,noerror bs=64k | gzip -c > /path/to/backup.img.gz
如果需要(例如外接硬碟是FAT32時),把磁碟映象拆分成多個卷(參考split man頁面)
#dd if=/dev/sdX conv=sync,noerror bs=64K | gzip -c| split -a3 -b2G - /path/to/backup.img.gz
如果本地磁碟沒有足夠空間,你可以通過ssh傳送映象
#dd if=/dev/sdX conv=sync,noerror bs=64K | gzip -c | ssh [email protected] dd of=backup.img.gz
5. 儲存磁碟結構資訊,以便解析儲存在映象中的分割槽表。其中最重要的部分是柱大小
#fdisk -l /dev/sdX > /path/to/list_fdisk.info
補充:你可能想和使用和備份硬碟快取一樣容量的塊大小。例如,8M快取對應bs=8192K。本文中提到的64Kb比預設bs=512好,但使用更大的bs=會更快
恢復系統
#gunzip -c /path/to/backup.img.gz | dd of=/dev/sdX
當映象拆分過,使用這樣的命令:
#cat /path/to/backup.img.gz* | gunzip -c | dd of=/dev/sdX
磁碟克隆軟體列表,摘自Wikipedia
Name | Developer | Licensing | Maintained? |
---|---|---|---|
AOMEI Backupper | AOMEI Technology | Free software | Yes |
Steven Shiau | Free software | Yes | |
SubRosaSoft | Non-free | Yes | |
Apple | Non-free | No | |
FarStone Technology | Non-free | Yes | |
Francois Dupoux | Free software | Yes | |
GParted developers | Free software | Yes | |
Ghost | Non-free | Yes [4] | |
TeraByte Unlimited | Non-free | Yes | |
Paramount Software | Non-free | Yes | |
Hugo Rabson | Free software | Yes | |
Szabolcs Szakacsits | Free software | No [5] | |
Szabolcs Szakacsits, Per Olofsson and Anton Altaparmakov. Ported to ntfs-3g by Erik Larsson and Jean-Pierre Andre | Free software | Yes [6] | |
Thomas Tsai | Free software | Yes | |
Francois Dupoux and Franck Ladurelle | Free software | Yes | |
PING | SysAngel | Free software | No |
chrysocome | Free software | No | |
Miguel Angel Alvarez | Free software | No | |
Tom Kerremans | Free software | Yes | |
unknown | Free software | Yes |
相關推薦
linux基礎3-磁碟和檔案系統相關 LINUX支援哪些檔案系統 linux下磁碟分割槽詳解 圖文(fdisk;mkfs)
一 dumpe2fs : 在Linux使用過程中,我們如果要了解檔案系統的配置情況,可以使用dumpe2fs檢視ext2/ext3/ext4格式的檔案系統資訊。 命令格式: dumpe2fs [選項] 裝置 常用選項: -h 僅列出超級塊中的資訊
Linux下磁碟分割槽,格式化以及掛載
接下來,我們詳細介紹在Linux下,如何用命令對磁碟進分割槽、格式化以及如何掛載到目錄。 測試環境:VMware Workstation / centos7 操作步驟: 第一步:首先來看看當前虛擬機器的磁碟情況。 以及先前分割槽情況:由下
linux下磁碟檢視和分割槽
9月25日任務 4.1 df命令 4.2 du命令 4.3/4.4 磁碟分割槽 df命令 df輸出磁碟檔案系統使用情況: [root@centos ~]# df 檔案系統 1K-塊 已用 可用 已用% 掛載點 /
linux下磁碟空間不足導致oracle無法登入的解決方案
問題:oracle突然無法登入成功 原因:發現是磁碟空間不足,而且oracle被關閉了 解決方案如下: 1、確定oracle安裝在哪臺linux機器,並登入 2、檢視磁碟使用情況 : df -h,看看哪個磁碟空間滿了 3、找到沒有用的檔案,並刪掉。
linux下磁碟分割槽,格式化和掛載
按照規定,整個硬碟只能有4個主分割槽,包括基本分割槽和擴充套件分割槽。擴充套件分割槽最多隻能有1個,擴充套件分割槽裡可以分出多個任意大小的邏輯分割槽,而基本分割槽不可再分。 我的硬碟有1T,sda1為系統盤,有30G,sda2有100G,sda5為swap分割
Linux下磁碟分割槽和目錄的關係
1、任何一個分割槽都必須掛載到某個目錄下(我安裝雙系統的時候,將一個分割槽掛載在/目錄下); 2、目錄是邏輯上的區分,分割槽是物理上的區分; 3、磁碟Linux分割槽都必須掛載到目錄樹中某個具體的目錄上才能進行讀寫操作(這點在安裝Linux系統的時候,需要你手動選擇掛
Linux 下磁碟分割槽和建立檔案系統(基於Ubuntu平臺)
Linux系統中對於檔案系統的存在方式和windows完全不相同,對於Linux來說一切皆檔案的思想是其核心,所以對於Linux下的裝置來說,其所對應的裝置檔案都存放在/dev目錄下,linux下硬碟裝置名為(IDE硬碟為hdx(x為a開始的字元一般一塊硬碟裝置對應一個字母
Linux下磁碟分割槽與擴容
虛擬機器增加磁碟進行磁碟分割槽 檢視磁碟情況 [[email protected] /]#df 檢視裝置 [[email protected] /]#ls /dev/sd* 增加磁碟 [[email protected] /]#ls
20151117 Linux下磁碟管理(centos 6.5)1.新增硬碟 2.硬碟分割槽 3.格式化硬碟 4.掛載硬碟 5.設定開機自動掛載】
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk i
測試linux下磁碟的讀寫速率
1) 通過df -h命令檢視磁碟情況 Filesystem Size Used Avail Use% Mounted on /dev/sda4 289G 61G 214G 23% / tmpfs
Linux下磁碟加密——luks
Linux下磁碟加密 LUKS(Linux Unified Key Setup)為Linux硬碟加密提供了一種標準,它不僅能通用於不同的Linux發行版本,還支援多使用者/口令。因為它的加密金鑰獨立於口令,所以如果口令失密,我們可以迅速改變口令而無需重新加
Linux下磁碟操作筆記
檢視分割槽情況及資料盤名稱 shell > df -lhT 檢視磁碟 shell > fdisk -l 格式化磁碟 shell > mkfs.ext4 /dev/vdb [檢視硬碟UUID] 方法一:shell >
LINUX下磁碟IO效能監測分析
這兩天發現一臺測試用的伺服器經常負載很高,但cpu和記憶體消耗卻很少,很是奇怪,經過診斷髮現是由於大容量的測試資料導致高併發下的磁碟IO消耗比較大,由於快取是小檔案並且數量比較大,所以併發比較高的情況下Io消耗非常大。那怎樣才能快速的定位到併發高是由於磁碟io開銷大呢? 一、用 top 命令中的
Linux下的磁碟克隆
如果一個機房有多臺伺服器,在一臺上安裝完Linux後,怎樣把這個系統盤克隆到其他磁碟,最簡便的方法就是用Linux dd命令,不需要藉助Ghost之類的第三方程式。況且Ghost對Linux的支援似乎不太好。 使用dd dd是一個簡單,多功能,強大的工具。可以用來把資料按
Linux下xfs磁碟擴容
根據下面磁碟情況根盤只有 8G 大小,所以將磁碟 /dev/vda 分割槽並擴容至根盤 1、新建磁碟分割槽 fdisk /dev/vda 2、更改新分割槽磁碟型別 3、儲存分割槽操作並重啟作業系統 4、檢視新建分割槽 5、格式化分割槽 6、建立新的物
Win7+Ubuntu雙系統結構下,Ubuntu克隆至新硬碟,啟動成功 Linux下檢視硬碟UUID和修改硬碟UUID(轉)
前言梗概: 750GB 機械硬碟下安裝 Win7 和 Ubuntu雙系統,之前Win7單獨重灌後,將grub引導覆蓋;利用EasyBCD恢復Ubuntu啟動。 最近發現之前Ubuntu分配空間太小,想將其安裝到一個大一點的SSD(固態硬碟)上。 Ubuntu情況如下, /dev/s
Linux下fdisk命令操作磁碟詳解--新增、刪除、轉換分割槽等
linux下fdisk命令操作磁碟詳解--新增、刪除、轉換分割槽等 fdisk 操作硬碟的命令格式如下: [[email protected] beinan]# fdisk 裝置 比如我們通過 fdisk -l 得知 /dev/hda 或者 /dev/sda 裝置;我們如果想再
Linux下測試磁碟讀寫速度
1.測/目錄所在磁碟的純寫速度: time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file 2.測/目錄所在磁碟的純讀速度: time dd if=/1Gb.file bs=64k |dd of=/dev/null
Linux下java獲取CPU、記憶體、磁碟IO、網路頻寬使用率
原文地址:https://www.cnblogs.com/gisblogs/p/3985393.html 一、CPU 使用proc檔案系統,"proc檔案系統是一個偽檔案系統,它只存在記憶體當中,而不佔用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式可以通過p
Linux下安裝jdk和Linux克隆出現的問題
關於克隆後的問題和配置 ——直接修改:/etc/sysconfig/network-script/ifcfg-eth0(可能沒有這個) ——刪掉:UUID HWADDR(可能沒有這個) ——配置靜態地址 ——然後 ——rm -rf /etc/udev/rules.d/70-persist