среда, 15 июля 2009 г.

Домашний сервер (9): диски, NTFS, samba

Совсем недавно я к старому компьютеру с ubuntu купил pci-плату расширения, чтобы можно было подключать большие жесткие диски с sata-интерфейсом; как сказать ubuntu, что появились новые диски и что с ними можно сделать - дальше.. Допустим, жизненная ситуация: надо подключить новый жесткий диск, на нем будет хранится медиа-контент в нашей локальной сети; заодно надо подключить еще один диск и переписать с него фильмы/музыку/etc Подключили диски, включили компьютер, убедились, что они правильно определились; надо разобраться, где кто: sudo fdisk -l zinetz@ubuntu:~$ sudo fdisk -l Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x4eb74eb6 Device Boot Start End Blocks Id System /dev/sda1 * 1 19458 156288000 7 HPFS/NTFS Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00071ae8 Device Boot Start End Blocks Id System /dev/sdb1 * 1 608 4883728+ 83 Linux /dev/sdb2 609 1044 3502170 5 Extended /dev/sdb5 609 670 497983+ 82 Linux swap / Solaris /dev/sdb6 671 1044 3004123+ 83 Linux Disk /dev/sdc: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Disk /dev/sdc doesn't contain a valid partition table Итак, вот наши диски: /dev/sdb - это диск размером 8 Гб, на который установлена ubuntu, он разбит на 3 раздела - primary (/dev/sdb1), на котором система, и два логических - /dev/sdb5 для подкачки и /dev/sdb6 для данных юзеров /dev/sdc - это новый и неразмеченный пока диск размером 8 Гб /dev/sda - это диск, с которого я хочу переписать фильмы, он отформатирован в NTFS Для начала надо разбить новый диск и отформатировать его: sudo cfdisk /dev/sdc # вот наш диск, показывает, что он пустой (если уже разбит - # можно или ничего не делать, или переразбить); # стрелками выбираем New, Primary, указываем обьем.. в общем, все как обычно; # дальше переходим на Type и выбираем тип 83, ну и потом Write, Quit # если теперь посмотреть вывод fdisk -l, то видим, что диск успешно получил новый раздел Теперь полученный раздел надо отформатировать; стоит форматировать в "родные" для линух форматы - в ext3 например, если будут хранится большие мультимедийные файлы - в xfs: sudo mkfs.ext3 /dev/sdc1 Раздел отформатирован, но что с ним делать дальше? Его надо примонтировать к корню и использовать; не знаю, может и неправильно - но я для себя сделал так: sudo mkdir /mnt/media sudo chmod 777 /mnt/media В папке /mnt я (а точнее супер-пользователь) создал новую папку (mkdir), но для того, чтобы в эту папку могли писать/читать все пользователи (а не только супер-пользователь), надо поменять права доступа к ней (chmod; 777 побитово означает определенные права - на чтение, на запись, отдельно для владельца, для членов группы) В папку media и будет монтироваться мой новый жесткий диск; там же (в /mnt) я сделал папку для временного монтирования разных дисков (например 160 гигабайтного диска с фильмами для переписывания) Монтируются диски командой mount, демонтируются соотв. umount; но если примонтировать руками диск с принесенными для переписывания фильмами - это нормально, то диск, на котором они будут хранится, должен монтироваться автоматически; для этого проделаем следующее: blkid # эта команда покажет идентификаторы подключенных дисков: /dev/sda1: UUID="A67C32437C320E95" LABEL="Media drive" TYPE="ntfs" /dev/sdb1: UUID="43400bcd-dea1-4b20-9072-04c3530bba80" TYPE="ext3" /dev/sdb5: TYPE="swap" UUID="f5d4f812-9938-4f3f-8984-ee4068ecb12d" /dev/sdb6: UUID="f4096893-9ade-4b57-816c-4967f7ce04b2" SEC_TYPE="ext2" TYPE="ext3" /dev/sdc1: UUID="4d5b0bee-08b0-458f-b91a-08aa0b392557" SEC_TYPE="ext2" TYPE="ext3" # они понадобятся нам здесь: sudo pico /etc/fstab # в конец файла добавим строку UUID=4d5b0bee-08b0-458f-b91a-08aa0b392557 /mnt/media ext3 defaults,users 0 3 # и сохраним его В файле fstab хранятся записи для автомонтирования дисков; сначала указывается раздел или UUID, последний вариант лучше, т.к. имена разделов могут меняться при подключении новых устройств, а UUID до переразбивки/переформатирования - нет; затем указывается точка монтирования (/mnt/media), тип файловой системы (ext3) и опции, смысла которых я уже не понимаю (сделал и забыл) Если теперь ввести sudo mount -a то перемонтируются все разделы, описанные в fstab; проверим, используя команду df (от disk free, ключ -h (от human) покажет вывод в человеческом представлении): Filesystem Size Used Avail Use% Mounted on /dev/sdb1 4.6G 1.1G 3.4G 25% / tmpfs 249M 0 249M 0% /lib/init/rw varrun 249M 308K 249M 1% /var/run varlock 249M 0 249M 0% /var/lock udev 249M 160K 249M 1% /dev tmpfs 249M 0 249M 0% /dev/shm lrm 249M 2.4M 247M 1% /lib/modules/2.6.28-11-server/volati le /dev/sdb6 2.9G 93M 2.6G 4% /home /dev/sdc1 7.9G 147M 7.4G 2% /mnt/media Вот он, наш новый раздел, примонтированный к нашей новой папке; примонтируем теперь другой жесткий диск: sudo mount -t ntfs-3g /dev/sda1 /mnt/tmp Все, можно копировать из /mnt/tmp в /mnt/media.. После перезагрузки в /mnt/tmp будет пусто, а в media все на месте Смысл хранить медиа-файлы на сервере есть конечно только в том случае, если к этим файлам будет доступ остальных пользователей в сети - для этого нужна самба: sudo apt-get install samba smbfs # теперь добавим пользователя шлюза в пользователи самбы sudo smbpasswd -a user_name # создаем файл /etc/samba/smbusers и пишем туда (вместо user_name # вписываем имя пользователя) system_username = "user_name" # открываем /etc/samba/smb.conf и меняем строчки, или создаем новый конфиг [global] workgroup = TESTGROUP # указываем имя группы компьютеров в локальной сети interfaces = 127.0.0.0/8 eth1 # обслуживаем только внутреннюю сеть bind interfaces only = yes dns proxy = no Сохраняем файл, перезапускаем самбу (sudo /etc/init.d/samba restart), с windows-компьютера идем в сетевое окружение: Правда пока там ничего нет, надо расшарить ресурсы - кстати перед этим: webmin умеет управлять и самбой в том числе, но если открыть его сейчас, то в списке служб самбы нет; чтобы появилсь - надо в меню выбрать Webmin - Настройка Webmin - и снизу Refresh modules Как организовать систему доступа - личное дело каждого, например можно сделать так: администратор шлюза (скорее всего он там единственный пользователь) будет иметь доступ в свою папку и иметь полный доступ к папке с медиа-контентом, сделав у себя в папке ссылку на /mnt/media; остальные пользователи сети могут только читать медиа-файлы; попробуем все это настроить - дописываем в конец smb.conf после закоменченных строк ;[homes] [zinetz] comment = my home directory writeable = yes valid users = user_name path = /home/user_name [media] comment = media content writeable = no public = yes path = /mnt/media Сохраняем, перезапускаем самбу, идем в сетевое окружение - видим 2 "шары", чтобы зайти в папку пользователя, надо ввести его имя/пароль, чтобы зайти в media - ничего не надо, и записать в эту папку ничего нельзя - то, что надо кажется.. А, нет, я же хотел писать в media: создам у себя в папке ссылку на /mnt/media - каждый раз, открывая ее, я буду открывать на самом деле папку media, но при этом я смогу менять файлы в этой папке ln -s /mnt/media ~/media Теперь еще не забыть настроить rtorrent на новое хранилище файлов (если он был настроен что-то делать автоматом)..

Комментариев нет:

Отправить комментарий