亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1321 | 回復(fù): 0
打印 上一主題 下一主題

遷移數(shù)據(jù) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-01-18 10:56 |只看該作者 |倒序?yàn)g覽
簡介
遷移或復(fù)制數(shù)據(jù)是很常見的任務(wù)。無論是通過網(wǎng)絡(luò)將數(shù)據(jù)復(fù)制到新的文件系統(tǒng)中,還是在同一卷組中復(fù)制邏輯卷或?qū)⑺鼜?fù)制到另一個(gè)卷組,抑或只是創(chuàng)建文件系統(tǒng)的備份。轉(zhuǎn)移或復(fù)制數(shù)據(jù)的原因可能是為了提高性能,或者因?yàn)楫?dāng)前環(huán)境中沒有足夠的空間容納不斷增長的數(shù)據(jù)?梢允褂貌煌墓ぞ撸ū热 migratepv、cplv、tar、cpio、cp 或 rsync)執(zhí)行上面提到的數(shù)據(jù)轉(zhuǎn)移任務(wù)。對于 jfs,可以使用 splitcopy(或?qū)?jfs2 使用 snapshot)獲得文件系統(tǒng)的拷貝。對于哪種方法最適合某項(xiàng)數(shù)據(jù)轉(zhuǎn)移任務(wù),并沒有絕對的規(guī)定。在本文中,我會演示在文件系統(tǒng)和邏輯卷級上轉(zhuǎn)移或復(fù)制數(shù)據(jù)的不同方法,主要關(guān)注以下 AIX 實(shí)用程序:cplv、tar 和 cp。

使用 tar 和 cp 將數(shù)據(jù)復(fù)制到新的文件系統(tǒng)
在對應(yīng)用程序文件系統(tǒng)應(yīng)用更新時(shí),要先執(zhí)行備份,很可能是將數(shù)據(jù)備份到磁帶。但是如果空間允許,也可以復(fù)制應(yīng)用程序所在的文件系統(tǒng)。這樣做的優(yōu)點(diǎn)是可以快速進(jìn)行恢復(fù)。另外,通過交換掛載點(diǎn),可以快速地對比更新后的文件與原來的文件。假設(shè)文件系統(tǒng) /opt/pluto 包含要升級的應(yīng)用程序:
# df -g…/dev/fslv00        1.00      0.03   97%       22     1% /opt/pluto

我們來看一下使用 cp、tar 和 cplv 將應(yīng)用程序文件復(fù)制到另一個(gè)文件系統(tǒng)的三種方法。
首先,需要創(chuàng)建備份(復(fù)制的)文件系統(tǒng)。這會使用到 crfs 命令,要確保文件系統(tǒng)的類型相同,而且系統(tǒng)的大小不小于原文件系統(tǒng)。當(dāng)前 /pluto 文件系統(tǒng)的大小是 1G,是 jfs2 類型的。新的文件系統(tǒng)名為 /opt/pluto_bak?梢允褂靡韵旅顒(chuàng)建這個(gè)文件系統(tǒng):
# crfs -v jfs2 -g rootvg -m /opt/pluto_bak -A yes -p rw -a agblksize=4096 -a size=1GFile system created successfully.524068 kilobytes total disk space.New File System size is 1048576

在這個(gè)示例中,輸入?yún)?shù)的含義如下:
-v jfs2指定 jfs2 文件系統(tǒng)類型
-g rootvg創(chuàng)建文件系統(tǒng) rootvg
-m /opt/pluto_bak指定實(shí)際的掛載點(diǎn)
-A yes指定在重新引導(dǎo)時(shí)自動地掛載這個(gè)文件系統(tǒng)
-p rw指定讀寫權(quán)限
-a agblksize=4096以字節(jié)為單位指定塊大小
-a size=1G指定要創(chuàng)建的文件系統(tǒng)的大。ㄔ谶@個(gè)示例中是 1GB)
接下來要掛載文件系統(tǒng) /opt/pluto_bak:
# mount /opt/pluto_bak

現(xiàn)在使用的是 cp 命令,為了確保復(fù)制權(quán)限/修改時(shí)間和符號鏈接,可以使用 Rph 標(biāo)志。
下面的 cp 命令將所有文件和符號鏈接(如果有的話)從 /opt/pluto 復(fù)制到 /opt/pluto_bak:
# cd /opt/pluto# pwd/opt/pluto# cp -Rph * /opt/pluto_bak

一定要檢查復(fù)制是否正確地完成了,方法是在原來的和復(fù)制的文件系統(tǒng)上列出文件數(shù)量并運(yùn)行 du。對于 /opt/pluto:
# pwd/opt/pluto# du -ms .988.46  .# ls |wc      17      17     146

對于 /opt/pluto_bak:
# cd ../pluto_bak# ls |wc      17      17     146# du -ms .988.46  .

前面的輸出說明原來的和復(fù)制的文件系統(tǒng)是匹配的,所以一切正常(復(fù)制成功地完成了)。
現(xiàn)在,再次執(zhí)行相同的操作,但是這一次使用 tar 實(shí)用程序。
在處理大量小文件時(shí),使用 tar 通常更快。如果文件大于 2GB,一定要使用 GNU tar 實(shí)用程序。
# cd /opt/pluto# pwd/opt/pluto# tar cpf - . | (cd /opt/pluto_bak; tar xpf - )

在前面的輸出中,tar 從當(dāng)前目錄創(chuàng)建存檔,包括修改時(shí)間/權(quán)限;tar 把存檔發(fā)送到標(biāo)準(zhǔn)輸出。然后,輸出管道連接到一個(gè)子 shell,再進(jìn)入 /opt/pluto_bak,最后把數(shù)據(jù)從標(biāo)準(zhǔn)輸出提取到 /opt/pluto_bak 文件系統(tǒng)中。
與前面一樣,一定要檢查原來的和復(fù)制的文件系統(tǒng)的總大小和文件數(shù)量是否匹配。
如果希望看到存檔和提取文件的過程,就添加詳細(xì)輸出 (v) 選項(xiàng):
# cd /opt/pluto# tar cvpf - . | (cd /opt/pluto_bak; tar xvpf - )a .a ./lost+founda ./myfile.dat 0 blocks.a ./pop 1 blocks.a ./test100M.bin 195313 blocks.x .x ./lost+foundx ./myfile.dat, 0 bytes, 0 media blocks.x ./pop, 139 bytes, 1 media blocks.x ./test100M.bin, 100000000 bytes, 195313 media blocks.a ./myfile1 195313 blocks.x ./myfile1, 100000000 bytes, 195313 media blocks.a ./mprep 195313 blocks.x ./mprep, 100000000 bytes, 195313 media blocks.a ./chklp 195313 blocks.x ./chklp, 100000000 bytes, 195313 media blocks.a ./poplt 195313 blocks.x ./poplt, 100000000 bytes, 195313 media blocks.…..…..


使用 tar 將數(shù)據(jù)復(fù)制到遠(yuǎn)程文件系統(tǒng)
還可以使用 tar 通過網(wǎng)絡(luò)復(fù)制數(shù)據(jù),盡管使用 scp 也可以。對于文件系統(tǒng)復(fù)制,我一般喜歡使用 tar。要想通過網(wǎng)絡(luò)使用 tar,則應(yīng)該使用 ssh 作為傳輸方法。也可以使用 rsh,但是我不建議這么做,因?yàn)樗邪踩毕荨?/div>
如果希望將數(shù)據(jù)從本地主機(jī)上的 /opt/pluto 復(fù)制到遠(yuǎn)程主機(jī) nordkapp 上的文件系統(tǒng) /opt/pluto,則可以使用以下命令:
# cd /opt/pluto# tar -cpf - . | ssh nordkapp (cd /opt/pluto; tar -xpf -)

通過這個(gè)示例可以看出,對于本地復(fù)制/恢復(fù)與遠(yuǎn)程復(fù)制/恢復(fù),tar 命令并沒有很大的差異。前面的示例假設(shè)已經(jīng)交換了 ssh 密鑰,所以可以執(zhí)行無密碼連接/登錄。

在卷組中復(fù)制邏輯卷
在處理小的文件系統(tǒng)時(shí),使用 cplv 比使用 cp 或 tar 慢得多。要考慮的另一要點(diǎn)是,cplv 需要復(fù)制整個(gè)邏輯卷,而 tar 和 cp 只需復(fù)制文件。經(jīng)驗(yàn)規(guī)則是:如果文件系統(tǒng)大于 10 GB,則使用 cplv。
在下面的示例中,我們要將 /opt/pluto 所在的邏輯卷(名為 fslv00)復(fù)制到文件系統(tǒng)邏輯卷 fslv01。cplv 命令會覆蓋 fslv01 的當(dāng)前內(nèi)容,這正是我們想要的效果。注意,在這個(gè)示例中,已經(jīng)創(chuàng)建了文件系統(tǒng) /opt/pluto_bak;該文件系統(tǒng)中目前沒有任何數(shù)據(jù)。可以通過 df 命令的輸出看出這一點(diǎn):
# df -g…../dev/fslv00   1.00      0.03   97%       22     1% /opt/pluto/dev/fslv01   1.00      1.00    1%        4     1% /opt/pluto_bak

首先要做的是卸載這兩個(gè)文件系統(tǒng)。與 tar 和 cp 不同,不能在文件系統(tǒng)處于聯(lián)機(jī)狀態(tài)下時(shí)執(zhí)行 cplv 命令:
# umount /opt/pluto# umount /opt/pluto_bak

如果文件系統(tǒng)報(bào)告它因?yàn)槊o法卸載,則應(yīng)確保關(guān)閉應(yīng)用程序。然后,使用 fuser 判斷哪些進(jìn)程導(dǎo)致文件系統(tǒng)無法卸載:
# fuser -u <filesystem>

例如:
     # fuser -u /opt/pluto

如果決定終止此文件系統(tǒng)上的所有進(jìn)程,那么可以使用以下命令:
# fuser -k <filesystem>

接下來要使用 cplv 命令。在這個(gè)示例中,我們將復(fù)制邏輯卷 fslv00,這會覆蓋現(xiàn)有的目標(biāo)邏輯卷 fslv01。命令的基本格式是:
cplv -e < dest lv>  -f  <source lv>

其中:
-e將邏輯卷的內(nèi)容復(fù)制到現(xiàn)有的邏輯卷
dest lv指定目標(biāo)邏輯卷(在這個(gè)示例中是 fslv01)
source lv指定源邏輯卷(在這個(gè)示例中是 fslv00)
因?yàn)橐采w另一個(gè)邏輯卷,所以應(yīng)該確保目標(biāo)邏輯卷的邏輯卷類型被設(shè)置為 copy 而不是 jfs2(在邏輯卷屬性中)。如果不這樣設(shè)置,命令會失敗,并會發(fā)出警告消息,指出需要修改這個(gè)屬性。對目標(biāo)邏輯卷執(zhí)行以下 lslv 命令以檢查 TYPE:
# lslv fslv01 |grep TYPETYPE:          jfs2                 WRITE VERIFY:   off

在前面的輸出中看到,目標(biāo)邏輯卷的類型設(shè)置為 jfs2。現(xiàn)在需要將它設(shè)置為 copy 并運(yùn)行 lslv 命令,以確認(rèn)該設(shè)置:
# chlv -t copy fslv01# lslv fslv01 |grep TYPETYPE:          copy                 WRITE VERIFY:   off

在將類型設(shè)置為 copy 之后,就可以復(fù)制邏輯卷了:
# cplv -e fslv01 -f fslv00cplv: Logical volume fslv00 successfully copied to fslv01 .

從這個(gè)輸出中看到,復(fù)制成功了。完成 cplv 命令之后,邏輯卷類型將恢復(fù)為 jfs2。我們來核實(shí)一下:
# lslv fslv01 |grep TYPETYPE:            jfs2                WRITE VERIFY:   off

一切正常,F(xiàn)在,我們要來掛載文件系統(tǒng):
# mount /opt/pluto# mount /opt/pluto_bak# df -g…./dev/fslv00    1.00      0.03   97%       22     1% /opt/pluto/dev/fslv01    1.00      0.03   97%       22     1% /opt/pluto_bak

現(xiàn)在已經(jīng)使用 cplv 命令將文件系統(tǒng) /opt/pluto 復(fù)制到了 /opt/pluto_bak 中。與前面一樣,一定要在復(fù)制的文件系統(tǒng)上對比這兩個(gè)文件的大小和文件數(shù)量。
如果在應(yīng)用程序升級期間出現(xiàn)錯(cuò)誤,應(yīng)用程序變得不可用,那么您別無選擇,只能執(zhí)行恢復(fù)操作。但是,我們已經(jīng)復(fù)制了文件系統(tǒng),只需將損壞的應(yīng)用程序文件系統(tǒng)交換為好的應(yīng)用程序即可。交換文件系統(tǒng)比從磁帶恢復(fù)快,而且還可以保留升級失敗的文件系統(tǒng)供進(jìn)一步診斷。
在以下示例中,假設(shè)我們想從 /opt/pluto_bak 交換(即改變掛載點(diǎn))到 /opt/pluto。首先,必須把 /opt/pluto 的掛載點(diǎn)更改為 /opt/pluto_err。這樣,在將 /opt/pluto_bak 改為 /opt/pluto 時(shí)就不會出現(xiàn)名稱沖突。使用 chfs 命令改變文件系統(tǒng)的掛載點(diǎn)。一定要先卸載文件系統(tǒng);靖袷绞牵
chfs -m <new mount point> <original mount point>

將 /opt/pluto 的掛載點(diǎn)更改為 /opt/pluto_err,然后將 /opt/pluto_bak 的掛載點(diǎn)更改為 /opt/pluto:
#  chfs -m /opt/pluto_err /opt/pluto

既然已經(jīng)將 /opt/pluto 的掛載點(diǎn)更改為 /opt/pluto_err,現(xiàn)在即可將 /opt/pluto_bak 更改為 /opt/pluto:
# chfs -m /opt/pluto /opt/pluto_bak

接下來,我們要掛載文件系統(tǒng):
# mount /opt/pluto_err# mount /opt/pluto

應(yīng)用程序現(xiàn)在可以使用了。發(fā)生故障的應(yīng)用程序目前保存在 /opt/pluto_err 中,這個(gè)文件系統(tǒng)也已掛載,因?yàn)閮蓚(gè)應(yīng)用程序文件系統(tǒng)目前都已掛載,所以需要進(jìn)行進(jìn)一步檢查,比如進(jìn)行對比。

將邏輯卷復(fù)制到另一個(gè)卷組
可以使用 tar、cp 或 cplv 將文件系統(tǒng)數(shù)據(jù)復(fù)制到另一個(gè)卷組。在本文中,我將使用 cplv。操作過程與前面相似。唯一的區(qū)別是,目標(biāo)文件系統(tǒng)并不在同一卷組中,而是在另一個(gè)卷組中創(chuàng)建它。在將數(shù)據(jù)復(fù)制到另一個(gè)卷組時(shí),必須修改 /etc/filesystems 中的邏輯卷設(shè)備(可能還有日志設(shè)備)屬性,讓 AIX 在請求掛載文件系統(tǒng)時(shí)知道在哪里尋找它。
我們來看看如何將邏輯卷復(fù)制到另一個(gè)卷組。步驟如下:
  • 卸載 /opt/pluto 文件系統(tǒng)。
  • 復(fù)制保存在 /opt/pluto 的邏輯卷 fslv00。使用復(fù)制命令將它解析為新的邏輯卷 pluto_lv。
  • 如果目標(biāo)卷組是新的卷組,則創(chuàng)建一個(gè)新的 jfs2log 并將其格式化。否則,使用卷組中現(xiàn)有的 jfs2log。
  • 編輯 /etc/filesystems,讓 /opt/pluto 的設(shè)備和日志設(shè)備都指向此卷組中的正確設(shè)備。
  • 掛載剛復(fù)制的邏輯卷 pluto_lv 上的 /opt/pluto 文件系統(tǒng)。
  • 檢查剛掛載的文件系統(tǒng)。
  • 卸載文件系統(tǒng),然后執(zhí)行 fsck 命令并重新掛載它。
對于 /opt/pluto 文件系統(tǒng),假設(shè)希望把邏輯卷 fslv00 從 rootvg 復(fù)制到另一個(gè)卷組 apps_vg。另外,應(yīng)該將這個(gè)邏輯卷改名為 pluto_lv。
對于這個(gè)示例,cplv 命令的基本格式如下:
cplv -v <dest vg> -y <new lv name> source _lv

其中:
-v <dest vg>是目標(biāo)卷組(在這個(gè)示例中是 apps_vg)
-y <new lv name>是目標(biāo)邏輯卷名稱(在這個(gè)示例中是 pluto_lv)
第一個(gè)任務(wù)是卸載希望復(fù)制的文件系統(tǒng),然后才能訪問邏輯卷。
# umount /opt/pluto

使用 lsvg 命令確認(rèn)文件系統(tǒng)已關(guān)閉:
# lsvg -l rootvg…fslv00              jfs2       64      64      1    closed/syncd  /opt/pluto

現(xiàn)在執(zhí)行復(fù)制操作:
#  cplv -v apps_vg -y pluto_lv fslv00cplv: Logical volume fslv00 successfully copied to pluto_lv .

完成復(fù)制操作之后,現(xiàn)在即可用 lsvg 命令檢查一下:
# lsvg -l apps_vgapps_vg:LV NAME     TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINTpluto_lv    jfs2       128     128     1    closed/syncd  N/A

從前面的輸出可以看出,邏輯卷 fslv00 已經(jīng)復(fù)制到卷組 apps_vg 并改名為 pluto_lv。但還要注意的是,其中沒有 JFS (journaled file system) jfs2log 條目。如果將邏輯卷復(fù)制到空的卷組,就會出現(xiàn)這種情況。
使用 mklv 命令創(chuàng)建 jfs2log。mklv 命令的基本格式是:
mklv -t <type> -y <new lv_name> vg_name <number of LPs>

其中:
-t <type>指定邏輯卷類型。在這里是 jfs2log
-y <new lv name>指定目標(biāo)邏輯卷名稱。在本示例中是 jfs2log_lv
vg_name表示 jfs2log 所在的卷組。在本示例中是 apps_vg
Number of LPs邏輯分區(qū)的數(shù)量;在這里只需要一個(gè)分區(qū)
因此,使用以下命令創(chuàng)建 jfs2log,它位于卷組 apps_vg 中,名為 jfs2log_lv:
# mklv -t jfs2log -y jfslog_lv apps_vg 1jfslog_lv

確認(rèn)已經(jīng)創(chuàng)建了這個(gè)邏輯卷:
# lsvg -l apps_vgapps_vg:LV NAME     TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINTpluto_lv    jfs2       128     128     1    closed/syncd  N/Ajfslog_lv   jfs2log    1       1       1    closed/syncd  N/A

下一個(gè)任務(wù)是初始化和格式化邏輯卷 jfs2log_lv,以便可以將它用作 jfs2log。這會使用到 logform 命令。在提示要銷毀的內(nèi)容時(shí),選擇 Yes。實(shí)際上不會銷毀任何數(shù)據(jù),而是對剛創(chuàng)建的邏輯卷進(jìn)行格式化。
# logform /dev/jfslog_lvlogform: destroy /dev/rjfslog_lv (y)?y#

現(xiàn)在差不多可以掛載 /opt/pluto 了;但是,必須先讓 AIX 知道與它相關(guān)聯(lián)的新設(shè)備和 jfs2log。看一下 /etc/filesystems 文件中 /opt/pluto 的文件系統(tǒng)條目:
# grep -w -p "/opt/pluto" /etc/filesystems/opt/pluto:        dev             = /dev/fslv00        vfs             = jfs2        log             = /dev/hd8        mount           = true        options         = rw        account         = false

可以看出需要修改以下屬性:
devlog

這些屬性反映這個(gè)邏輯卷駐留在 rootvg 中時(shí)的日志和設(shè)備。因?yàn)檫@個(gè)邏輯卷現(xiàn)在位于卷組 apps_vg 中,所以需要修改 log 和 dev 值。為了反映日志和邏輯卷現(xiàn)在所在的位置,將:
dev  = /dev/fslv00  

改為
dev = /dev/pluto_lv

將:
log   = /dev/hd8

改為
log   = /dev/jfslog_lv

現(xiàn)在編輯 /etc/filesystems,按前面的示例修改這些屬性。完成之后,確認(rèn)屬性修改已經(jīng)完成。
# grep -w -p "/opt/pluto" /etc/filesystems/opt/pluto:        dev             = /dev/pluto_lv        vfs             = jfs2        log             = /dev/jfslog_lv        mount           = true        options         = rw        account         = false

現(xiàn)在,只需掛載目前位于 apps_vg 卷組中的 /opt/pluto 即可。邏輯卷的復(fù)制已經(jīng)完成了。
# mount /opt/pluto# lsvg -l apps_vgapps_vg:LV NAME    TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINTpluto_lv   jfs2       128     128     1    open/syncd    /opt/plutojfslog_lv  jfs2log    1       1       1    open/syncd    N/A

原來的邏輯卷仍然在 rootvg 中,沒有相關(guān)聯(lián)的掛載點(diǎn)。檢查 /opt/pluto 以后,便可刪除它。在檢查過程中,最好對剛復(fù)制的文件系統(tǒng)運(yùn)行 fsck(但是一定要先卸載它)。
# umount /opt/pluto# fsck -y /dev/pluto_lvThe current volume is: /dev/pluto_lvPrimary superblock is valid.J2_LOGREDO:log redo processing for /dev/pluto_lvPrimary superblock is valid.*** Phase 1 - Initial inode scan*** Phase 2 - Process remaining directories*** Phase 3 - Process remaining files*** Phase 4 - Check and repair inode allocation map*** Phase 5 - Check and repair block allocation mapFile system is clean# mount /opt/pluto

接下來,如果所有檢查都沒有發(fā)現(xiàn)問題,則從 rootvg 刪除原來的邏輯卷。一定要在重新引導(dǎo)(或執(zhí)行 exportvg)之前刪除原來的邏輯卷,因?yàn)?ODM 仍然包含原來的邏輯卷和文件系統(tǒng)屬性:
# lsvg -l rootvg…..fslv00              jfs2       64      64      1    closed/syncd  N/A# rmlv fslv00Warning, all data contained on logical volume fslv00 will be destroyed.rmlv: Do you wish to continue? y(es) n(o)? yrmlv: Logical volume fslv00 is removed.


結(jié)束語
在文件系統(tǒng)之間轉(zhuǎn)移或復(fù)制數(shù)據(jù)是系統(tǒng)管理員經(jīng)常執(zhí)行的一項(xiàng)任務(wù),無論是在同一卷組中復(fù)制還是通過網(wǎng)絡(luò)復(fù)制。在本文中,我演示了執(zhí)行這些任務(wù)的不同方法?梢杂迷S多方法復(fù)制數(shù)據(jù),我只通過示例重點(diǎn)介紹了其中的幾種。

關(guān)于作者
David Tansley 是一位自由作家。他有 15 年 UNIX 系統(tǒng)管理經(jīng)驗(yàn),最近 8 年使用 AIX。他喜歡打羽毛球和觀賞一級方程式賽車,但是最喜歡與妻子一起開著 GSA 摩托車旅行。




http://www.ibm.com/developerworks/cn/aix/library/au-cp_mv/index.html

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP