āĻāĻāĻŋ āĻāĻā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° (DSS) āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻāĻ˛āĻŋāĻāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒā§āĻ¤ā§ āĻšāĻŦā§, āĻāĻāĻāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻ, āĻāĻāĻāĻŋ āĻā§āĻ˛ā§āĻ¨ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ˛āĻŋāĻāĻŽāĨ¤ āĻ¤āĻŦā§ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻāĻŋāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻĒāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻāĻž āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻž, āĻ¤āĻŦā§ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĄā§āĻāĻžāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ˛āĻŋāĻāĻŽ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻŦā§, āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§, āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ˛ā§āĻĄ āĻšāĻā§āĻā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¨ SCSI āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ VMware āĻĨā§āĻā§ VAAI āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 100% XCOPY (āĻāĻā§āĻ¸āĻā§āĻ¨ā§āĻĄā§āĻĄ āĻāĻĒāĻŋ) āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻ¯āĻž āĻ
ā§āĻ¯āĻžāĻ°ā§āĻā§ āĻā§ āĻŦāĻ˛ā§ āĻāĻŦāĻ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻŦāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻĄāĻŧāĻŋāĻ¤ āĻāĻžāĻĄāĻŧāĻžāĨ¤
āĻĻā§āĻā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻāĻ¨āĻ āĻā§āĻ¨ā§ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¨āĻŋ, āĻ¤āĻžāĻ āĻāĻŽāĻžāĻā§ āĻāĻžāĻāĻžāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻĻā§āĻāĻžāĻŦāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° OS āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŦāĻ ddpt āĻāĻŽāĻžāĻ¨ā§āĻĄ (http://sg.danny.cz/sg/ddpt.html) āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻ āĻ¸āĻāĻŽāĻŋāĻļā§āĻ°āĻŖāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻā§āĻ¨āĻ OS āĻĨā§āĻā§ āĻ¯ā§ āĻā§āĻ¨āĻ āĻāĻ˛āĻŋāĻāĻŽ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻĻāĻŋāĻā§ āĻŦā§āĻ˛āĻ-āĻŦāĻžāĻ-āĻŦā§āĻ˛āĻ āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻŦā§āĻ˛āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ˛āĻ āĻāĻĒāĻŋ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ, āĻāĻŦāĻ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ
āĻŦāĻļā§āĻ¯āĻ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ, āĻŦā§āĻ˛āĻāĻĄā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŖāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻŦā§āĻ˛āĻā§āĻ° āĻāĻāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛; ddpt āĻāĻ¸āĻ˛ā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ¸āĻšāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŋāĻ˛:
#!/bin/bash
# first parameter = input device
# second parameter = output device
# device size must be the same
# changing bs variable can reduce speed, max speed should be at bs=32768. 32768 is max setting, lower settings should be calculated dividing by 2
set -o nounset
bs=32768
s=`blockdev --getsz $1`
i=0
while [ $i -le $s ]
do
ddpt of=$2 bs=512 oflag=xcopy,direct if=$1 iflag=xcopy,direct count=$bs verbose=-1 skip=$i seek=$i
i=$(( $i+$bs ))
done
āĻāĻāĻā§ āĻā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ! āĻāĻžāĻ˛, āĻāĻāĻāĻŋ āĻā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻāĻāĻŋ 1TB āĻĢāĻžāĻāĻ˛ āĻĻā§āĻ°ā§āĻ¤ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŦāĻ md5sum āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ :)
root@sales-demo-05:/home/vasilyk# blockdev --getsz /dev/mapper/mpathfs
2516582400
root@sales-demo-05:/home/vasilyk# blockdev --getsz /dev/mapper/mpathfr
2516582400
root@sales-demo-05:/home/vasilyk# mount /dev/mapper/mpathfs /xcopy_source/
mount: /xcopy_source: wrong fs type, bad option, bad superblock on /dev/mapper/mpathfs, missing codepage or helper program, or other error.
root@sales-demo-05:/home/vasilyk# mkfs /dev/mapper/mpathfs
mke2fs 1.44.1 (24-Mar-2018)
Discarding device blocks: done
Creating filesystem with 314572800 4k blocks and 78643200 inodes
Filesystem UUID: bed3ea00-c181-4b4e-b52e-d9bb498be756
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
root@sales-demo-05:/home/vasilyk# mount /dev/mapper/mpathfs /xcopy_source/
root@sales-demo-05:/home/vasilyk# ls -l /xcopy_source/
total 16
drwx------ 2 root root 16384 Aug 19 15:35 lost+found
root@sales-demo-05:/home/vasilyk# head -c 1T </dev/urandom > /xcopy_source/1TB_file
root@sales-demo-05:/home/vasilyk# ls -l /xcopy_source/
total 1074791444
-rw-r--r-- 1 root root 1099511627776 Aug 19 17:25 1TB_file
drwx------ 2 root root 16384 Aug 19 15:35 lost+found
root@sales-demo-05:/home/vasilyk# umount /xcopy_source
root@sales-demo-05:/home/vasilyk# mount /dev/mapper/mpathfr /xcopy_dest/
mount: /xcopy_dest: wrong fs type, bad option, bad superblock on /dev/mapper/mpathfr, missing codepage or helper program, or other error.
root@sales-demo-05:/home/vasilyk# cat xcopy.sh
#!/bin/bash
# first parameter = input device
# second parameter = output device
# device size must be the same
# changing bs variable can reduce speed, max speed should be at bs=32768. 32768 is max setting, lower settings should be calculated dividing by 2
bs=32768
s=`blockdev --getsz $1`
i=0
while [ $i -le $s ]
do
ddpt of=$2 bs=512 oflag=xcopy,direct if=$1 iflag=xcopy,direct count=$bs verbose=-1 skip=$i seek=$i
i=$(( $i+$bs ))
done
root@sales-demo-05:/home/vasilyk# time ./xcopy.sh /dev/mapper/mpathfs /dev/mapper/mpathfr
real 11m30.878s
user 2m3.000s
sys 1m11.657s
āĻ¸ā§āĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻā§ āĻāĻāĻāĻŋāĻ˛:
āĻāĻ˛ā§āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤
root@sales-demo-05:/home/vasilyk# mount /dev/mapper/mpathfr /xcopy_dest/
root@sales-demo-05:/home/vasilyk# ls -l /xcopy_dest/
total 1074791444
-rw-r--r-- 1 root root 1099511627776 Aug 19 17:25 1TB_file
drwx------ 2 root root 16384 Aug 19 15:35 lost+found
root@sales-demo-05:/home/vasilyk# mount /dev/mapper/mpathfs /xcopy_source/
root@sales-demo-05:/home/vasilyk# md5sum /xcopy_source/1TB_file
53dc6dfdfc89f099c0d5177c652b5764 /xcopy_source/1TB_file
root@sales-demo-05:/home/vasilyk# md5sum /xcopy_dest/1TB_file
53dc6dfdfc89f099c0d5177c652b5764 /xcopy_dest/1TB_file
root@sales-demo-05:/home/vasilyk#
āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻā§āĻāĻāĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°! āĻ¸ā§āĻ°ā§āĻ¸ āĻāĻ˛āĻŋāĻāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻāĻžāĻ˛, āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com