Page 3 of 16 FirstFirst 1234513 ... LastLast
Results 31 to 45 of 230

Thread: Как зафиксировать порядок USB носителей (fstab)?

  1. #31
    AlekseyA,
    cat /proc/scsi/usb-storage-*/*

    N.B. swap у меня не используется (допаяна память), поэтому его я не предусматривал.
    Last edited by bbsc; 20-02-2009 at 07:18.

  2. #32
    Quote Originally Posted by bbsc View Post
    AlekseyA,
    cat /proc/scsi/usb-storage-*/*

    N.B. swap у меня не используется (допаяна память), поэтому его я не предусматривал.
    Спасибо! А вот про swap ты вовремя, у меня то он есть.
    Если тебя не затруднит, что изменится в pre-mount.

  3. #33
    Quote Originally Posted by AlekseyA View Post
    что изменится в pre-mount.
    Со свопом, видимо, будет так (нужно подставить еще и свои номера разделов на винчестере):
    Code:
    #!/bin/sh
    
    hdd_guid="05e307020000000000000000"
    flash_guid="058f638700000001a211f3f9"
    
    hdd_mount="/home"
    hdd_data="part1"
    hdd_swap="part2"
    
    flash_mount="/opt"
    mnt_options="noatime,nodiratime,rw"
    
    scsi ()
    {
       hostid=""
       for i in 0 1 2 3; do
       host="/proc/scsi/usb-storage-$i/$i"
          [ -f $host ] && [ ${#1} -eq 24 ] &&
          grep "GUID: $1" $host -q &&
          grep "Attached: Yes" $host -q &&
          hostid=$i &&
          break
       done
    
       dev="/dev/scsi/host$hostid/bus0/target0/lun0/" && [ -e $dev ] && echo $dev
    }
    
    hdd_dev=`scsi $hdd_guid`
    flash_dev=`scsi $flash_guid`
    
    echo -e "# device\t\t\t\tMountpoint\tFStype\tOptions\t\t\tDump\tPass#" > /etc/fstab
    
    [ -n "$hdd_dev" ] &&
    echo -e $hdd_dev$hdd_data"\t$hdd_mount\t\text3\t$mnt_options\t0\t0" >> /etc/fstab &&
    echo -e $hdd_dev$hdd_swap"\tnone\t\tswap\tsw\t0\t0" >> /etc/fstab
    
    [ -n "$flash_dev" ] &&
    echo -e $flash_dev"part1\t$flash_mount\t\text3\t$mnt_options\t0\t0" >> /etc/fstab
    Мне негде проверить.
    Поэтому лучше попробовать запустить данный скрипт на работающем роутере и глянуть, правильно ли формируется fstab.
    Если нет - поправим
    Если правильно - можно сохранять его как pre-mount.

  4. #34
    Quote Originally Posted by bbsc View Post
    Мне негде проверить.
    Поэтому лучше попробовать запустить данный скрипт на работающем роутере и глянуть, правильно ли формируется fstab.
    Если нет - поправим
    Если правильно - можно сохранять его как pre-mount.
    У меня по Линуксу 3 с "-".
    Напиши как это запустить, приеду вечером дамой попробую.
    Да, в настоящий момент у меня все (swap, opt и база) на USB-HDD, но вставит/вынуть флешку или подрубить еще один USB-HDD это я смогу.

  5. #35
    AlekseyA, да как запустить....
    Создать файл, например:
    touch /opt/tmp/vasya
    chmod +x /opt/tmp/vasya
    Скопировать туда скрипт, прописать свои ГУИДы, разделы и сохранить.
    Запустить файл на исполнение:
    /opt/tmp/vasya
    Затем глянуть cat /etc/fstab и сравнить с выводом /mount

    З.Ы. Я так и не понял, сколько разделов с винта нужно монтировать: два или три.

  6. #36
    Join Date
    Feb 2009
    Location
    Domodedovo (Moscow reg.)
    Posts
    48

    Question

    Компетентные товарищи, прошу высказать ваше мнение по поводу такого варианта (по возможности с комментариями):

    fstab:
    PHP Code:
    #device                   Mountpoint              FStype  Options     Dump Pass#
    /dev/discs/disc0/part1    none                    swap    sw              0 0
    /dev/discs/disc0/part2    /tmp/mnt/disc0_2        ext3    rw,noatime      1 1
    /dev/discs/disc0/part3    /tmp/mnt/disc0_3        ext3    rw,noatime      1 1
    /dev/discs/disc0/part4    /tmp/mnt/disc0_4        ntfs    rw,noatime      1 1
    /tmp/mnt/disc0_2/opt      /opt                    none    bind,rw,noatime 0 0
    /tmp/mnt/disc0_3/torrents /opt/share/torrent/work none    bind,rw,noatime 0 0 
    pre-mount
    PHP Code:
    #!/bin/sh
        
        
    swapon -
        
        
    for i in `awk '/ext3/{print($1)}' /etc/fstab` ; do
            if [ -
    b $i ] ; then
                grep 
    -q $i /proc/mounts || e2fsck -p $i 2>&logger -t e2fsck
            
    else
                
    logger -t fstab "$i is not attached"
            
    fi
        done 
    post-mount
    PHP Code:
    #!/bin/sh

    #    swapon /dev/discs/disc0/part1
    #    mount -o sync,noatime,rw /dev/discs/disc0/part2 /tmp/harddisk
    #    mount -o bind /tmp/harddisk/opt /opt
    #    mount -o bind /tmp/mnt/disc0_3/torrents /opt/share/torrent/work
        
        
    mount -
        
        
    /opt/etc/init.d/rc.unslung start 
    pre-shutdown
    PHP Code:
    #!/bin/sh

    # Stop All servises
        
    echo "Stop Servises" 2>&1
        
    /opt/etc/init.d/rc.unslung stop
        sleep 10s

    # Kill procces
        
    echo "Killing Process" 2>&1
        lsof 
    -/dev/discs/disc0/part2 xargs kill -9
        lsof 
    -/dev/discs/disc0/part3 xargs kill -9
        sleep 2s

    # Remount to Read Only
        
    echo "Remount Disks"
        
    for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
            echo 
    "$i2>&1
            mount 
    -o remount,ro $i
        done

    # Swap Off
        
    echo "Swap Off" 2>&1
        swapoff 
    -a
        sleep 2s

        
    echo "Finish!" 
    Спасибо.
    ISP: Beeline [dmd] 30 Mbps
    Router: Asus WL-500gP v1 (1.9.2.7-rtn)
    Router: Asus RT-N16 (1.9.2.7-rtn)

  7. #37
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    А в чем смысл двойного монтирования, тем более в fstab?
    Почему сразу так не сделать?
    Code:
    #device                   Mountpoint              FStype  Options     Dump Pass# 
    /dev/discs/disc0/part1    none                    swap    sw              0 0 
    /dev/discs/disc0/part2    /opt                    ext3    bind,rw,noatime     1 1 
    /dev/discs/disc0/part3    /torrent                ext3    bind,rw,noatime    1 1 
    /dev/discs/disc0/part4    /tmp/mnt/disc0_4        ntfs    ro,noatime      1 1
    С соответствующим исправлением остального кода.
    ntfs ro - читаем о работе линейки Линуксов с ядром 2.4 с данной ФС.

  8. #38
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397

    Как примонтировать флешку (swap и opt), и внешний USB-HDD туда, куда нужно?

    Как примонтировать swap, /opt (на флешке) и отдельный usb-hdd для данных. У меня при каждой загрузке/перегрузке они могут монтировать, а могут не монтироваться. В общем этот процесс проходит нестабильно, и без четкой системы.
    Т.е. флешка может стать как /dev/discs/disc0, а винт как /dev/discs/disc1
    А после перегрузки они могут поменяться местами, а после нескольких перегузок снова вернуться назад. :-(

    Этот вопрос похоже периодически вплывает, но четкого ответа, что нужно сделать то-то так я не нашел.
    После чтения форума и уже практически недельного мучанья роутера
    (Перестановка флешек, бокса для HDD и добавление активного хаба)
    это может быть следствием следующих проблем:
    1. К моменту обработки fstab ещё не все usb устройства проинициализированны.
    2. Сами устройства, по каким-то причинам, могут определяются контроллером в разно порядке, и потому получают разные номера.

    А теперь вопросы:
    Что касается первой проблемы.
    На форуме мне попадалось предложение вставить задержку (типа: sleep 5) до монтирования устройств, чтобы они точно к этому моменту проинициализировались.
    В какой из файлов: pre-boot, post-boot или pre-mount нужно вставить задержку?

    По второй проблеме.
    Я так понимаю, что нужно смотреть в строну монтирования по серийному номеру или по метке раздела.
    Можно ли как-то прописать fstab путь раздела с серийником?
    Если нет, то как правильно сделать монтирование устройств по серийному номеру?
    Last edited by igor77777; 20-04-2009 at 10:36.
    [ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];

  9. #39

  10. #40
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397
    Quote Originally Posted by AlekseyA View Post
    Похоже, это именно, то что искал.

    Остался первый вопрос. Куда лучше вставить задежку, для полной инициализации usb-дисков?

    И новый вопрос: Там в "оригинальных" темах встречается скрипт scsi
    Куда его нужно ложить?
    [ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];

  11. #41
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    А откуда эти GUIDы брать, чтоб потом запихнуть в скрипт?

  12. #42
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397
    Quote Originally Posted by MrGalaxy View Post
    А откуда эти GUIDы брать, чтоб потом запихнуть в скрипт?
    Это есть в указанной (Как зафиксировать порядок USB носителей?) теме.

    А вот я что не понимаю.
    Взял скрипт отсюдаотсюда, изменил GUID добавил пару строк. в общем описал названия своих разделов swap и opt на флешке, и получаю
    на строках
    Code:
    hdd_dev=`scsi $hdd_guid`
    flash_dev=`scsi $flash_guid`
    следующее:
    Code:
    [admin@IGORROUTER root]$ [admin@IGORROUTER root]$ sh /usr/local/sbin/pre-mount
    /usr/local/sbin/pre-mount: /usr/local/sbin/pre-mount: 33: /dev/scsi/host1/bus0/target0/lun0/: Permission denied
    /usr/local/sbin/pre-mount: /usr/local/sbin/pre-mount: 34: /dev/scsi/host0/bus0/target0/lun0/: Permission denied
    [admin@IGORROUTER root]$
    Почему?
    Как вылечить?
    Я ведь под админом это запускаю.

    ---------------------
    Разобрался.
    Глупость написал.
    Ошибка закралась в скрипт, при переносе через буфер.
    Все заработало.
    Last edited by igor77777; 20-04-2009 at 20:39. Reason: глупость написал
    [ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];

  13. #43
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397

    Кля тех кто не разобрался в том как "железно" замонтировать разделы ;-)

    За основу я взял этот скрипт из темы Как зафиксировать порядок USB носителей?

    Ответ на вопрос как получить GUID.
    Вот так:
    Code:
    cat /proc/scsi/usb-storage-*/*
    эта команда выведет все, что известно о ваших usb-storage устройствах.
    Вот, что получил я:
    Code:
    [admin@IGORROUTER root]$ cat /proc/scsi/usb-storage-*/*
       Host scsi0: usb-storage
           Vendor: JMicron
          Product: StoreJet Transcend
    Serial Number: 608B2FBF0FFF
         Protocol: Transparent SCSI
        Transport: Bulk
             GUID: 152d23290000608b2fbf0fff
         Attached: Yes
             Port: 2.1
              Bus: 01:03.2-2.1
       Host scsi1: usb-storage
           Vendor: Generic
          Product: Mass Storage Device
    Serial Number: 39J364SI
         Protocol: Transparent SCSI
        Transport: Bulk
             GUID: 058f638700000000393365d2
         Attached: Yes
             Port: 1.1
              Bus: 01:03.2-1.1
    У меня подключена флешка и usb-hdd в коробке Transcend StoreJet.

    я взял строчки:
    GUID: 058f638700000000393365d2
    GUID: 152d23290000608b2fbf0fff
    и занес их в соотвествующие строчки скрипта.
    Кроме того, поскольку у меня и swap и opt находятся на флешке, а hdd я планирую использовать только для данных, то я внес некоторые изменения в сам скрипт.
    Вот мой вариант скрипта:
    Code:
    #!/bin/sh
    
    # Создание fstab по серийникам подключенных устройств   НАЧАЛО
    hdd_guid="152d23290000608b2fbf0fff"
    flash_guid="058f638700000000393365d2"
    
    hdd_mount="/home"
    hdd_data="part1"
    hdd_swap="part1"
    
    flash_mount="/opt"
    flash_swap="part1"
    flash_opt="part2"
    
    mnt_options="noatime,nodiratime,rw"
    
    scsi ()
    {
       hostid=""
       for i in 0 1 2 3; do
       host="/proc/scsi/usb-storage-$i/$i"
          [ -f $host ] && [ ${#1} -eq 24 ] &&
          grep "GUID: $1" $host -q &&
          grep "Attached: Yes" $host -q &&
          hostid=$i &&
          break
       done
    
       dev="/dev/scsi/host$hostid/bus0/target0/lun0/" && [ -e $dev ] && echo $dev
    
    }
    
    hdd_dev=`scsi $hdd_guid`
    flash_dev=`scsi $flash_guid`
    
    echo -e "# device\t\t\t\tMountpoint\tFStype\tOptions\t\t\tDump\tPass#" > /etc/fstab
    
    [ -n "$flash_dev" ] &&
    echo -e $flash_dev$flash_swap"\tnone\t\tswap\tsw\t0\t0" >> /etc/fstab &&
    echo -e $flash_dev$flash_opt"\t$flash_mount\t\text3\t$mnt_options\t0\t0" >> /etc/fstab
    
    [ -n "$hdd_dev" ] &&
    echo -e $hdd_dev$hdd_data"\t$hdd_mount\t\text3\t$mnt_options\t0\t0" >> /etc/fstab
    
    # Создание fstab по серийникам подключенных usb устройств  КОНЕЦ
    Вот собсвенно и все.
    [ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];

  14. #44

    Как сделать необходимое монтирование?

    Имеется постоянно установленная флэшка, во втором USB- гнезде USB-хаб, к которому подключены принтер и накопитель. Принтер и накопитель периодически принудительно отключаются (особенно накопитель, т.к. шумноватый вентилятор). После таких отключений в сетевом окружении на компьютере постоянно меняются названия сетевых ресурсов. То disk0_1, то disk1_1 2_1 и флешка может не показывать наличие файлов.А качалки на компьютере имеют весьма определенные указатели на место скачивания. Файл fstab в роутере отсутствует.
    Что можно сделать для того, чтобы не скакали названия сетевых ресурсов при вкл/выкл принтера и накопителя, как жестко прописать их монтирование на роутере?
    Last edited by vladniktep; 03-06-2009 at 17:30.

  15. #45
    Quote Originally Posted by vladniktep View Post
    Имеется постоянно установленная флэшка, во втором USB- гнезде USB-хаб, к которому подключены принтер и накопитель. Принтер и накопитель периодически принудительно отключаются (особенно накопитель, т.к. шумноватый вентилятор). После таких отключений в сетевом окружении на компьютере постоянно меняются названия сетевых ресурсов. То disk0_1, то disk1_1 2_1 и флешка может не показывать наличие файлов.А качалки на компьютере имеют весьма определенные указатели на место скачивания. Файл fstab в роутере отсутствует.
    Что можно сделать для того, чтобы не скакали названия сетевых ресурсов при вкл/выкл принтера и накопителя, как жестко прописать их монтирование на роутере?
    А почему fstab не хотите создать??? религия??

Page 3 of 16 FirstFirst 1234513 ... LastLast

Similar Threads

  1. Настройка mpcs на роутере
    By poptab in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1059
    Last Post: 17-07-2012, 06:22
  2. cannot detect USB HDD
    By ferdz_33 in forum WL-500gP Q&A
    Replies: 8
    Last Post: 13-01-2010, 07:53
  3. Проблема: USB 1.1 устройства через USB 2.0 хаб
    By Rambalac in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 30
    Last Post: 15-09-2009, 12:00

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •