Создание резервной копии клиента Windows с помощью сервера Linux

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478

Резервное копирование, инициализируемое сервером, с применением Samba осуще­ствляется почти так же, как и копирование по инициативе сервера с использованием NFS, но работа с продуктом Samba и системой Windows имеет ряд особенностей. Необходимо обратить внимание на возможности, предоставляемые программой smbtar, и специфику поддержки длинных имен Windows.

Объявление файлов для совместного использования

Как известно, для создания резервных копий по инициативе сервера необходимо, что­бы на клиенте резервного копирования выполнялась программа-сервер, обеспечивающая

доступ к файлам. В большинстве случаев для взаимодействия с клиентами резервного ко­пирования под управлением Windows удобно использовать протокол SMB/CIFS. Вы также можете запустить Samba на компьютере Linux, обеспечив тем самым доступ к файловой системе Linux и возможность резервного копирования содержащихся в ней данных. Од­нако при этом теряется информация о владельцах файлов и правах доступа (если говорить

точно, эта информация может стать некорректной).

В составе системы Windows поставляются программы поддержки сервера SMB/CIFS, однако по умолчанию эти программные средства не установлены. Для включения необ­ходимых программных компонентов необходимо использовать элемент в составе Control Panel, который в зависимости от версии системы называется Network или Network and Dial-Up Connections. Работая с системой Windows 9х/Ме, следует дважды щелкнуть на пиктограмме Network, в результате чего отобразится диалоговое окно Network. В системе Windows NT или 2000 необходимо щелкнуть правой кнопкой мыши на соответствующем объекте в Network and Dial-Up Connections и выбрать пункт Properties. Необходимый вам компонент называется File and Printer Sharing for Microsoft Networks. Если данный компонент отсутствует, щелкните на Add или Install. Перечень сетевых служб, среди ко­торых присутствует File and Printer Sharing for Microsoft Networks, показан на рис. 17.1. Возможно, вам потребуется задать принадлежность системы к рабочей группе. Сделать это можно с помощью вкладки Identification диалогового окна Network (Windows 9х/Ме) или объекта System в составе Control Panel (Windows 2000).

Инсталлировав сервер SMB/CIFS, вам надо организовать разделение дисков, содер­жимое которых вы хотите записывать на резервный носитель. Для этого выполните сле­дующие действия.

1. В окне My Computer щелкните правой кнопкой мыши на устройстве, доступ к ко­торому вы хотите разрешить, и в появившемся контекстном меню выберите пункт Sharing. (Если этот пункт отсутствует, то, вероятнее всего, программное обеспече­нием сервера SMB/CIFS не установлено.) В результате вы увидите диалоговое окно Properties, подобное изображенному на рис. 17.2.

2. Чтобы разрешить доступ к устройству, щелкните на опции Shared As или Share This

Folder. При этом вам потребуется ввести имя разделяемого объекта, которое вы бу­дете использовать при монтировании на сервере резервного копирования. В данном случае роль сервера резервного копирования выполняет компьютер под управлени­ем Linux. (В системе Windows 2000 для ввода имени разделяемого объекта надо щелкнуть на New Share.)

3. При работе с Windows 9х/Ме необходимо с помощью опции Access Type разрешить чтение и запись или только чтение и ввести пароль. Для создания резервных копий достаточно, чтобы данные были доступны только для чтения, но для восстановления данных необходимо также разрешить запись информации (в Windows 9х/Ме, чтобы предоставить право чтения и записи, надо установить значение Full опции Access Туре). В Windows 2000 с помощью вкладки Security можно определить, кто имеет право доступа к разделяемому объекту.

4. Щелкните на кнопке ОК, разрешив тем самым совместное использование устрой­ства.

5. Повторите пп. 1-4 для каждого устройства, содержимое которого необходимо запи-.  сать на резервный носитель.

После выполнения указанных действий устройство становится доступным для уда­ленных компьютеров. Чтобы убедиться в наличии доступа, можно использовать бро­узер Network Neighborhood либо попробовать обратиться к файлу с другого узла сети. На компьютере под управлением Linux для этой цели можно использовать инструмент smbclient.

Использование smbtar

В составе пакета Samba поставляется программа smbtar. Как нетрудно догадать­ся, этот инструмент сочетает в себе возможности утилиты tar и клиента SMB/CIFS.

На самом деле smbtar представляет собой сценарий оболочки, который вызывает про­граммы tar и smbclient, используя предоставляемые ими возможности для создания резервных копий данных, которые содержатся на компьютерах под управлением Win­dows. Инструмент smbtar можно использовать как для создания резервной копии всего разделяемого объекта, так и для копирования отдельных файлов. Сценарий smbtar вы­зывается с помощью следующего выражения:

smbtar -s  клиент_резервного_копирования \

[-х  имя_разделяемого_объекта] [-и имя_пользователя] \

[-Р пароль]   t-d каталог]   [-t устройство]   [-г] [-v]

Обратившись к справочной системе, вы получите подробную информацию об исполь­зовании smbtar. Ниже описано назначение основных опций.

• s клиент_резервного_копирования. Эта единственная обязательная опция задает имя клиента резервного копирования. В качестве ее значения указывает­ся NetBIOS-имя компьютера. В зависимости от значения опции name resolve order в файле smb.conf, система также может обрабатывать DNS-имена узлов сети.

• х имя__разделяемого__объекта. Данная опция позволяет задать имя разделяе­мого объекта (это имя вводится на этапе 2 описанной выше процедуры). По умол­чанию принимается имя backup.

• и имя_пользователя. Если вы хотите установить соединение под именем, от­личающемся от имени пользователя, под которым вы выполняете резервное копи­рование, вам необходимо указать данную опцию. Заметьте, что в Windows 9х/Ме пользовательское имя не применяется, за исключением тех случаев, когда система входит в состав домена.

• р пароль. Если для работы с разделяемым объектом необходим пароль, вы можете задать его с помощью данной опции. При этом возникает серьезная угроза безопас­ности системы, так как значение пароля будет сохранено в списке предыстории, поддерживаемом оболочкой (в случае, если вы вводите команду вручную), кроме того, пароль отображается в перечне выполняемых процессов (соответству­ющие данные доступны посредством утилиты ps). Если же вы запускаете smbtar из сценария, необходимо проследить за тем, чтобы код сценария мог просматривать только пользователь root.

• d каталог. Если вы хотите работать лишь с одним каталогом, вы можете ука­зать его имя с помощью данной опции. В случае, когда необходимо сохранить на резервном носителе весь разделяемый объект, опцию -d указывать не следует.

• t устройство. Эта опция позволяет указать файл устройства, соответствующий накопителю на магнитной ленте, или задать имя файла, в котором будет сохранена резервная копия. По умолчанию в качестве значения данной опции используется значение переменной окружения если же данная переменная не указана, принимается имя out.

•г. По умолчанию smbtar используется для создания резервной копии. Если же указана опция данная программа будет работать в режиме восстановления дан­ных.

• v. Данная опция включает режим вывода дополнительной информации. Еслиоиция

-v задана, smbtar отображает имена копируемых файлов.

В качестве примера рассмотрим команду, которая создает резервную копию объекта CDRIVE на компьютере WORK. Эта команда имеет следующий вид:

# smbtar -s WORK -р password -х CDRIVE -t /dev/stO -v

При выполнении данной команды сначала выводится информация о состоянии систе­мы, затем список файлов, а после этого — сведения о числе файлов и объеме сохраненных данных в байтах. Форматы файлов, созданных с помощью smbtar и tar, совпадают, поэтому при необходимости вы можете просмотреть содержимое архива посредством утилиты tar.

Использование smbmount

Вместо того чтобы работать с инструментом smbtar, вы можете воспользоваться

предоставляемой Linux возможностью монтировать разделяемые объекты SMB/CIFS. Для

монтирования подобных объектов можно применять утилиту mount или smbmount. При использовании программы mount надо указать тип файловой системы s, задать NetBIOS-имя компьютера под управлением Windows, имя разделяемого объекта и имя пользователя. Сформированная таким образом команда имеет следующий вид:

# mount -t smbfs //WORK/CDRIVE /mnt/backup -о \ username=fred,password=pass&rord

Эквивалентная ей команда smbmount выглядит так:

# smbmount //WORK/CDRIVE /mnt/backup -о \ username=f red, password=passworcf

Реализации утилиты smbmount в пакетах 2.0.x Samba существенно отличают­ся одна от другой. В ранних версиях данной программы использовался другой синтаксис. Приведенный выше вызов корректен для программ smbmount, по­ставляемых в составе версий 2.0.5а-2.2.2 Samba.

Если вы не укажете пароль, то программы mount и smbmount запросят его. Поэто­му, если вы хотите вызывать программу резервного копирования из командной строки, эти утилиты предпочтительнее smbtar. Кроме того, используя mount или smbmount, вы можете смонтировать несколько устройств и скопировать их содержимое с помощью одного вызова утилиты tar. Такой подход упрощает создание резервной копии, но за­медляет восстановление содержимого одной системы, так как в этом случае необходимо сначала прочитать информацию, соответствующую другим системам.

После окончания копирования содержимого компьютера под управлением Windows необходимо разорвать соединение с клиентом резервного копирования с помощью коман­ды umount или smbumount. Пример вызова umount приведен ниже.

# umount /mnt/backup

Особенности обработки имен файлов Windows

Для создания резервных копий содержимого системы Windows часто используются компьютеры под управлением Linux. Однако при этом необходимо учитывать особенно­сти обработки имен файлов. Дело в том, что программы mount и smbmount интерпре­тируют имена файлов иначе, чем это происходит в системе Windows. Для того чтобы

понять эти различия, необходимо рассмотреть правила хранения файлов в Windows. Фай­ловая система FAT (File Allocation Table - таблица размещения файлов), используемая в Windows 9х/Ме и поддерживаемая в системах Windows NT, 2000 и ХР, ориентирована на работу с файлами, имена которых содержат восемь символов, а расширение — три символа. Такие имена файлов называются именами 8.3. Для хранения длинных имен

файлов в каталогах Windows предусмотрены дополнительные записи. Длинными счита­ются имена файлов, содержащие больше восьми символов имени и больше трех симво­лов расширения, либо имена, составленные из символов, регистр которых должен быть сохранен. (Имена 8.3, в зависимости от используемых программ, могут отображаться символами верхнего регистра либо представляться как имя, начинающееся с прописной буквы, например File. txt. Существует также возможность указать, что имя 8.3 долж­но представляться символами только верхнего или только нижнего регистра.) Проблема с обработкой имен файлов в Linux возникает из-за того, что в данной системе не поддер­живаются имена 8.3, а используются только длинные имена файлов.

В отличие от Windows, Linux интерпретирует имена 8.3, которые присутствуют в ката­логах, смонтированных с помощью mount или smbmount, как имена, состоящие только из символов нижнего регистра (например, file. txt). Такие файлы восстанавливаются корректно, но если при создании имени 8.3 было указано, что оно должно включать толь­ко символы нижнего регистра, процедура восстановления данных может представить его как состоящее из символов верхнего регистра. Такая особенность обработки имен ред­ко приводит к возникновению серьезных проблем, поскольку при интерпретации имен файлов Windows не учитывает регистр.

Программа smbtar интерпретирует имена 8.3 как полностью состоящие из символов верхнего регистра, поэтому при ее использовании может возникнуть следующая пробле­ма. Предположим, что в системе Windows был создан файл, имя которого полностью

состоит из символов верхнего регистра, считается длинным именем, но содержит не больше восьми, а в составе расширения — не больше трех знаков. Программа smbtar, выполняемая в среде Linux, может интерпретировать такое имя как имя 8.3, в результате чего при восстановлении оно будет обработано некорректно, т. е. не будет указано, что имя является длинным и состоит из символов верхнего регистра. Данная проблема также не является серьезной, но может создавать неудобства для пользователей.

Существенные трудности возникают при создании имен 8.3, которые должны соответ­ствовать длинным именам. В системе Windows эта задача решается автоматически; если в окне DOS, отображаемом в среде Windows, вы зададите команду DIR, вы увидите как

короткие, так и длинные имена файлов. Поскольку система Linux не имеет информации

о том, какие имена являются короткими, при восстановлении данных она полагается на соответствующие средства Windows. Как правило, регистр символов и другие особенно­сти коротких имен не имеют значения для системы, но в некоторых случаях в результате несоответствия имен могут возникать нежелательные последствия. Например, если в кон­фигурационном файле указано короткое имя файла и если в результате восстановления данных это имя подверглось изменениям, программа не найдет требуемый файл. Кроме того, в системном реестре Windows некоторые имена файлов хранятся в формате 8.3, по­этому в результате восстановления файлов часть записей может оказаться некорректной. Это приведет к ошибкам в работе и даже к разрушению системы. Чтобы уменьшить веро­ятность возникновения подобных проблем, следует придерживаться приведенных ниже правил.

• Используйте короткие имена каталогов. Применяя короткие имена каталогов вме­сто длинных, вы устраните ряд проблем. Например, многие программы в системе Windows размещаются в каталоге Program Files. Если вы будете использовать вместо этого каталог с именем APPS, уменьшится вероятность того, что при вос­становлении данных имя будет восстановлено некорректно. Аналогичным образом следует выбирать подкаталоги для установки программ. Имена файлов, содержа­щих данные, не обязательно должны быть короткими, так как информация о таких файлах практически никогда не помещается в системный реестр.

• Используйте длинные имена в составе конфигурационных файлов. Если вам

необходимо включить в конфигурационный файл имя каталога, задавайте длинное

имя. Например, если вы хотите задать каталог в качестве значения переменной

PATH в файле AUTOEXEC. BAT, используйте его полное имя. Этим вы достигнете того, что при внесении изменений в имена файлов 8.3 функционирование системы не изменится.

• Создавайте длинные имена файлов, различающиеся первыми шестью симво­лами. При создании имени 8.3 Windows оставляет первые шесть символов низ­менными, затем присоединяет к ним символ и порядковый номер, начинающий­ся с единицы. Например, имя longf ilename. txt может быть преобразовано в имя 8.3 LONGFI-l .ТХТ. Если все длинные имена файлов в каталоге будут раз­личаться первыми шестью символами, при преобразовании в формат 8.3 все они будут оканчиваться последовательностью ~1, в результате вероятность некоррект­ного восстановления имени файла уменьшится.

Оканчивая разговор об обработке имен файлов, следует заметить следующее. Вероят­ность возникновения проблем при создании резервных копий Windows-файлов с исполь­зованием компьютера под управлением Linux невелика. Если же вы примете рекоменду­емые меры предосторожности, она станет еще меньше. Однако полностью игнорировать ее нельзя, поэтому желательно создать в системе Windows вариант резервной копии, ко­торый можно было бы использовать для восстановления базовой конфигурации системы.

 

Файловая система NTFS (New Technology Filesystem - новая технология фай-^   ловой системы), используемая в Windows NT, 2000 и ХР, также поддерживает

и имена 8.3, и длинные имена файлов. Однако вероятность возникновения про­блем с преобразованием имен гораздо меньше, чем в тех системах, в которых используется FAT.