SASGIS

Веб-картография и навигация

Решение проблемы перемещения кэша

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

Re: Решение проблемы перемещения кэша

Сообщение Parasite » 17 ноя 2009, 07:44

T_Im писал(а):Использовать ImDisk Virtual Disk Driver, конечно, заманчивая идея...

Попробовал поделочку плотненько и в тяжелых режимах.

Резюме:
1. Необходимо таки заранее резервировать место для ВСЕГО контейнера, как и в ТруКрипте. Если сказано что размер контейнера 100Мб - то и файл сразу же создается на 100Мб, даже если там вообще еще ничего нет.
2. Нет никакой возможности УМЕНЬШИТЬ размер контейнера штатными средствами.
3. Для переноса кэша с диска в контейнер - получаем все то же копирование средствами оси (построение списка файлов, множественные обращения в ФС но уже вирт.диска, итд). Выгоды - только если сразу с САСа писать в кэш на этом "диске", а переносить туда уже имеющийся - тот еще гимор. Ну тут как и с ТруКриптом...
4. Не исключена "фрагментация" уже внутри контейнера, так как используется все та же логика работы и все та же стандартная ФС для дисковых накопителей.
5. Нет штатного сжатия самого контейнера\содержимого контейнера (кроме как стандартного в FS NTFS - далее см.п.3,4)
6. И, на погоны - поделка весьма и весьма глючна (в коммандлайне - чуть меньше, из встроенного гуя - вообще нет слов). Гораздо нестабильнее того же ТруКрипта, который будучи подмонтированным - уже сидит в системе как влитой....Вот аттач например - всего лишь попытка перевести контейнер из RO в RW штатными гуевыми средствами, но...

Очень жаль. Идея-то была неплохой, но реализация как всегда подкачала...
Ффтопку. :evil:
Вложения
Clipboard01.jpg
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5644
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 457 раз.

VHD - проблема решения переноса кэша

Сообщение ManoRAW » 30 ноя 2009, 01:44

Я свою проблему решил так.
1.Поставил Microsoft Virtual PC
2.Создал виртуальный диск на 130GB с динамическим увеличением его размера файловой системой NTFS и размером клайстера в 512 байт (получил диск с изначальным размером 78Mb).
3.Для того, чтобы в WinXP примонтировать диск - установил утилитку VHDMOUNT (входит в комплект Virtual Server 2005). Windows7 сама это все делает
4.Создал для удобства монтирования дисков REG-файл
Код: Выделить всё
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell]
@="Plug in"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Plug in (direct write)]
@="Plug in (&direct write)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Plug in (direct write)\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /p /f \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Plug in (with undo disk)]
@="Plug in (&with undo disk)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Plug in (with undo disk)\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /p \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (commit changes)]
@="Unplug (&commit changes)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (commit changes)\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u /c \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (discard changes)]
@="Unplug (&discard changes)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\shell\Unplug (discard changes)\command]
@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u /d \"%1\""

[HKEY_CLASSES_ROOT\.vhd]
@="Virtual.Machine.HD"

Менюшка для *.vhd получит вид
Изображение
после прикрутки диска в систему в диспетчере диск будет выглядеть так
Изображение
5.Скопировал весь кэш на виртуальный диск
Диск в диспетчере выглядит как обычный диск
Изображение
Очень удобно пользоваться/переносить кэш

Откуда это все...
http://www.petri.co.il/mounting-vhd-fil ... dmount.htm
Вложения
03.jpg
02.jpg
01.jpg
Аватара пользователя
ManoRAW
Новичок
 
Сообщения: 10
ICQ: 297176468
Зарегистрирован: 24 июн 2009, 17:08
Откуда: Минск, Беларусь
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: VHD - проблема решения переноса кэша

Сообщение Parasite » 30 ноя 2009, 14:36

ManoRAW писал(а):1.Поставил Microsoft Virtual PC
2.Создал виртуальный диск на 130GB с динамическим увеличением его размера файловой системой NTFS и размером клайстера в 512 байт (получил диск с изначальным размером 78Mb).
3.Для того, чтобы в WinXP примонтировать диск - установил утилитку VHDMOUNT (входит в комплект Virtual Server 2005). Windows7 сама это все делает
4.Создал для удобства монтирования дисков REG-файл
Менюшка для *.vhd получит вид
после прикрутки диска в систему в диспетчере диск будет выглядеть так
5.Скопировал весь кэш на виртуальный диск
Диск в диспетчере выглядит как обычный диск
Очень удобно пользоваться/переносить кэш

Вы не находите, что число телодвижений несколько ээээ.....многовато по сравнению с одной командой в консоли (в случае с таром) либо с одной программкой на пару метров (в случае с ТруКриптом)? Вышеописанное же можно сделать например и на VMWare-дисках (чем достигнется кроссплатформенность, которой нет в Вашем варианте) - но вот сам VMWare занимает под 500 метров, а отдельной мелкой вменяемо работающей утилитки для работы с dynamic-size дисками песочницы я не нашел.

И самый главный вопрос: тут обсуждается перемещение кэша. Допустим, у меня уже есть на диске (обычном) миллионы и миллионы тайлов, гигов эдак на 500. Задача именно быстрого перемещения этого всего в виртуальный контейнер, созданный ЛЮБЫМ способом - решается пока что только ТАРом, так как любой системный копировщик будет перемещать а)потайлово б)с кучей обращений к ФС на обоих сторонах копирования в)строя список файлов перед началом операции (в случае миллионов и миллионов файлов он просто скрэшится). Именно эта задача и обсуждается в данной ветке.

Если же сразу изначально класть кэш в Ваш вариант контейнера - то вариант имеет шансы на жизнь, но лишь до тех пор пока не понадобиться ИЗВЛЕЧЬ файлы из контейнера на обычный диск. Получаем ту же задачу перемещения кэша что и описана выше, только в обратном порядке. Преимущества перед трукриптом - отсутствие неотключаемой (в трукрипте) шифрации, и растущий размер диска (не знаю как там с уменьшением размера при стирании данных, скорее всего традиционно для M$-ФС - то есть никак, ибо при "стирании" файлов они не стираются как таковые, а лишь помечаются как стертые). Недостатки против трукрипта - большой размер, некроссплатформенность, закрытость собственно формата (что будем делать если контейнер побьется?), и обилие уже ставших традиционными в продуктах M$ глюков (не только в VPC, но и в самой винде под которой оный будет вертеться).

Таром же задача распаковки кэша выполняется едва ли не быстрее чем запаковка, и более того - пайп tar -с | tar -x позволяет копировать гигабайты кэша с места на место за одну операцию и без предварительного создания списка файлов. Кроссплатформенно и одной и той же весьма мелкой утилиткой. :)

Кстати, Вы не могли бы попробовать вычленить компоненты, ответственные именно за создание и монтирование в системе .vhd - файлов? Что-то подсказывает мне, что для этого не надо тянуть и ставить ВЕСЬ VPC. Если сможете - было бы весьма интересно. То есть - создать динамический .vhd-файл, примонтировать его в обычную винду (ВинХП например), поработать и отключить - БЕЗ необходимости скачки\установки\использования полного VPC. Проще говоря, аналог трукрипта - но без шифрации. :) Попробуйте?
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5644
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 457 раз.

Re: Решение проблемы перемещения кэша

Сообщение ManoRAW » 30 ноя 2009, 15:47

А чем не решение переноса всего кэша на другую машину ? скопировал VHD диск и пользуйся... Не надо ни запаковывать ни распаковывать...
Я имел ввиду сам перенос всего кеша (на работе покачал - занес все домой), а не слияние одного кэша с другим... тут безусловно поможет только TAR
Я уже как месяц пользуюсь... доволен
к примеру Машина Intel Xenon 2.33 Mhz на ядро(всего 8 ядер) 8 Gb оперативки со SCSI дисками записывает TAR на 2 740 274 файлов за 1 час 50 минут - распаковка занимает столько же.

Выдрать файлы попробую...
Аватара пользователя
ManoRAW
Новичок
 
Сообщения: 10
ICQ: 297176468
Зарегистрирован: 24 июн 2009, 17:08
Откуда: Минск, Беларусь
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Решение проблемы перемещения кэша

Сообщение zed » 30 ноя 2009, 18:19

ManoRAW, описанный вами способ - это скорее способ хранения кэша, нежели его перемещения. Но, я бы сказал, что способ этот более красивый нежели ТруКрипт (отсутствие динамических томов), но и более трудоёмкий, в плане настройки/создания контейнера. Если удастся вычленить необходимые компоненты, и процесс создания контейнера будет прозрачным (без необходимости установки Microsoft Virtual PC), то это будет очень интересно.
P.S. Если обсуждение данного способа получит продолжение, то думаю стоит вынести это в отдельную тему (и в шапку её).
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Решение проблемы перемещения кэша

Сообщение Parasite » 30 ноя 2009, 18:38

zed писал(а):способ этот более красивый нежели ТруКрипт

Господа, а может проще будет взять исходники трукрипта - и оторвать от него шифрацию? :)
Ведь довольно вылизанная уже поделочка в смысле стабильности работы, кроссплатформенная и опенсорцная. Есть желающие взяться за сабж?
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5644
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 457 раз.

Re: Решение проблемы перемещения кэша

Сообщение zed » 30 ноя 2009, 20:08

Во, для пользователей Windows 7, мануальчики как создавать и удалять виртуальные диски (*.VHD) средствами самой системы:
Как создать VHD в Windows 7
Как удалить VHD в Windows 7

Создал VHD диск на террабайт и ужал его до 200Кб :) Диск пустой, после распаковки занимает ~80Мб. Файловая система NTFS, кластер 512b.
test.zip
VHD на 1Тб
(222.61 KiB) Скачиваний: 203

И есть какое-то мутное решение по уменьшению размеров VHD файла после удаления с диска ненужных данных:
Уменьшение .vhd файла писал(а):1. Загружается гостевая система (виртуальный носитель которой предполагается подвергнуть сжатию) и в меню "CD -> Capture ISO image" окна эмулируемого компьютера выбирается образ диска Virtual Disk Precompactor.iso, расположенный в директории C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions. Если программа Virtual PC устанавливалась в другую директорию, путь к образу может быть иным.
2. В результате в гостевой системе появится новый диск. Его необходимо открыть и запустить расположенную на нём утилиту Microsoft Virtual Disk Pre-Compactor, предназначенную для заполнения неиспользуемого пространства на виртуальном носителе нулями.
3. Когда инструмент Virtual Disk Pre-Compactor прекратит обработку диска, потребуется завершить работу гостевой системы и через меню File эмулятора открыть менеджер дисков Virtual Disk Wizard.
4. В окне менеджера необходимо открыть закрепленный за только что выгруженной гостевой системой файл формата VHD, затем выбрать пункт Compact it и нажать Next.
5. Откроется диалоговое окно, в котором нужно указать, какие действия следует произвести после сжатия диска - сохранить его в новом файле или перезаписать поверх имеющегося.
6. После принятия окончательного решения останется только нажать кнопку Next и дождаться завершения упаковки виртуального диска.

Parasite писал(а):Господа, а может проще будет взять исходники трукрипта - и оторвать от него шифрацию?

Шифрация - шифрацией, но основной минус трукрипта, это всё же невозможность создания динамического контейнера, а уже потом шифрация.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Решение проблемы перемещения кэша

Сообщение ManoRAW » 01 дек 2009, 13:44

Просто так VHDmount выдрать нельзя - он зашивается в систему. Простой перенос файлов не помог.
Имея готовый VHD (zed его уже сделал) нужно только установить VHDMOUNT (cам Virtual Server 2005 устанавливать не обязательно, просто выбрать из меню установки VHDMOUNT) и пользоваться, а на Windows 7 итого проще.
Аватара пользователя
ManoRAW
Новичок
 
Сообщения: 10
ICQ: 297176468
Зарегистрирован: 24 июн 2009, 17:08
Откуда: Минск, Беларусь
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Решение проблемы перемещения кэша

Сообщение zed » 01 дек 2009, 15:05

ManoRAW писал(а):...нужно только установить VHDMOUNT (cам Virtual Server 2005 устанавливать не обязательно, просто выбрать из меню установки VHDMOUNT)

А если попробовать запортабить VHDMOUNT?
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Решение проблемы перемещения кэша

Сообщение Parasite » 01 дек 2009, 19:41

zed писал(а):для пользователей Windows 7, мануальчики как создавать и удалять виртуальные диски (*.VHD) средствами самой системы

То есть, у кого другое - предлагается сперва поставить многогигабайтную монструозную систему для? :)

zed писал(а):Шифрация - шифрацией, но основной минус трукрипта, это всё же невозможность создания динамического контейнера, а уже потом шифрация.

Поэтому предыдущий вопрос про выдирание компонент и возник.
В любом случае, трукрипт БЕЗ шифрации для сабжа все же лучше чем трукрипт С шифрацией (при прочих равных), так что попробовать оторвать крипты имхо можно было бы...

ManoRAW писал(а):Имея готовый VHD (zed его уже сделал)

А если я захочу на гиг больше\меньше - опять зеда звать? :)

zed писал(а):А если попробовать запортабить VHDMOUNT?

Это ж монтировщик готового. Он же новые контейнеры создавать не умеет вроде как.

PS: и не надо его портабить - он с мелкософта качается в составе какой-то заплатки метра на 3 размером (гуглить на название экзешника), если мне склероз не изменяет. Я его пробовал месяца 4 назад, но так как новый контейнер он не создает - то долго пробование не продлилось. :(
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5644
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 457 раз.

Пред.След.

Вернуться в Другие программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1