Комментарии 4
Статья о возможностях, которые знать полезно. Но есть несколько вопросов:
1. какая СХД использовалась
2. какова скорость копирования без использования xcopy
3. для копирования используется скрипт который выполняет работу частями — вычисляет размер устройств, вызывает ddpt для копирования 16МБ (32к блоков по 512байт) каждый раз делая seek/skip для уже скопированных данных. Зачем? Почему не убрать count совсем и оставить эту работу ddpt:
Кстати, исходя из написанного, if и of не обязательно должны иметь одинаковый размер.
4. Размер блока установлен в 512 байт, это оптимально?
5. В чем смысл команды tail /xcopy_dest/1TB_file | strings?
1. какая СХД использовалась
2. какова скорость копирования без использования xcopy
3. для копирования используется скрипт который выполняет работу частями — вычисляет размер устройств, вызывает ddpt для копирования 16МБ (32к блоков по 512байт) каждый раз делая seek/skip для уже скопированных данных. Зачем? Почему не убрать count совсем и оставить эту работу ddpt:
If the 'count=' option is not given then the remaining blocks on both the input and output files are determined (if possible) and if both are found then the minimum of the two counts is used.
Кстати, исходя из написанного, if и of не обязательно должны иметь одинаковый размер.
4. Размер блока установлен в 512 байт, это оптимально?
5. В чем смысл команды tail /xcopy_dest/1TB_file | strings?
1 и 2 — это не являлось целью исследований, использовалось то, что под рукой (InfiniBox) и скорость копирования без XCOPY не замерялась (можно замерить, но там много параметров будет влиять)
3 не хотелось отдавать определение количества итераций, а хотелось задать в явном виде, но можно сделать и как вы предлагаете
4 Ну скажем так, все считают размеры таким блоком, так было проще сделать, если скорость копирования не устраивает, то можно попробовать поиграть тут, но это не тот блок, которым происходит копирование, а указание СХД скопировать некоторое количество таких блоков
5 для того чтобы понять что файлы получились одинаковые. По идее надо бы чексумму считать, но на 1ТБ файле было как-то уже лень
Я сейчас может попробую еще поиграться и посмотреть по пунктам 2, 4 и 5
3 не хотелось отдавать определение количества итераций, а хотелось задать в явном виде, но можно сделать и как вы предлагаете
4 Ну скажем так, все считают размеры таким блоком, так было проще сделать, если скорость копирования не устраивает, то можно попробовать поиграть тут, но это не тот блок, которым происходит копирование, а указание СХД скопировать некоторое количество таких блоков
5 для того чтобы понять что файлы получились одинаковые. По идее надо бы чексумму считать, но на 1ТБ файле было как-то уже лень
Я сейчас может попробую еще поиграться и посмотреть по пунктам 2, 4 и 5
Кстати, по пункту 4 глянул статистику на СХД, размер блока был 16МБ, то есть запрос от ddpd в 32768 кусочков по 512 байт был собран в один IO запрос, так что наверное я тут с этим играться не буду, на данной СХД сомнительно что будет лучше.
Ну что же, по пункту 2, если убрать ключ xcopy, то около 100 мегабайт в секунду, если взять dd и увеличить блок, то около 400 мегабайт. Подозреваю, что можно делать в несколько потоков и будет быстрее. Что также касается и XCOPY — если разбить по адресам том на несколько кусков и делать XCOPY параллельно, то тоже может быть быстрее.
По пункту 5 сделал через md5sum, так и статья стала покороче :)
По пункту 5 сделал через md5sum, так и статья стала покороче :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Копирование томов на СХД через Linux сервер с использованием XCOPY