SOLVED Can't import UFS partitions as Volumes

Status
Not open for further replies.

saurav

Contributor
Joined
Jul 29, 2012
Messages
139
I'm trying to add a new 4TB disk to my FreeNAS server. I partitioned it with gpart:
Code:
[saurav@freenas /mnt]$ gpart show ada2
=>        34  7814037101  ada2  GPT  (3.7T)
          34          94        - free -  (47k)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  2147483648    2  freebsd-ufs  (1.0T)
  2151678080  4294967296    3  freebsd-ufs  (2.0T)
  6446645376  1367343104    4  freebsd-ufs  (652G)
  7813988480      48655        - free -  (23M)



and newfs'd it, like this for all the three partitions:
Code:
sudo newfs -L Data -O 2 -U /dev/ada2p4



But when I click on the "Import Volume" button under Storage in GUI, it says "Sorry, an error occurred". Here's the extended traceback.
Code:
Request Method:    GET
Request URL:    http://192.168.1.144/storage/import/
Software Version:    FreeNAS-8.3.1-RELEASE-p2-x64 (r12686+b770da6_dirty)
Exception Type:    KeyError
Exception Value:   
 
'/dev/ada1p5'
 
Exception Location:    /usr/local/www/freenasUI/../freenasUI/storage/forms.py in _populate_disk_choices, line 550
Server time:    Mon, 23 Sep 2013 17:15:49 +0530
Traceback
Environment: Software Version: FreeNAS-8.3.1-RELEASE-p2-x64 (r12686+b770da6_dirty) Request Method: GET Request URL: http://192.168.1.144/storage/import/ Traceback: File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 105. response = middleware_method(request, callback, callback_args, callback_kwargs) File "/usr/local/www/freenasUI/../freenasUI/freeadmin/middleware.py" in process_view 166. return login_required(view_func)(request, *view_args, **view_kwargs) File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 20. return view_func(request, *args, **kwargs) File "/usr/local/www/freenasUI/../freenasUI/storage/views.py" in volimport 254. form = forms.VolumeImportForm() File "/usr/local/www/freenasUI/../freenasUI/storage/forms.py" in __init__ 530. self.fields['volume_disks'].choices = self._populate_disk_choices() File "/usr/local/www/freenasUI/../freenasUI/storage/forms.py" in _populate_disk_choices 550. del _parts[name] Exception Type: KeyError at /storage/import/ Exception Value: '/dev/ada1p5'
 
Request information
GET
 
No GET data
POST
 
No POST data
FILES
 
No FILES data
COOKIES
Variable    Value
fntreeSaveSelectedCookie    'root%2F61%2F68%2F82'
fntreeSaveStateCookie    'root%2Croot%2F61%2Croot%2F61%2F68%2Croot%2F20%2F43%2Croot%2F87%2F91%2Croot%2F101%2F133%2F134'
META
Variable    Value
wsgi.multiprocess    False
REDIRECT_STATUS    '200'
SERVER_SOFTWARE    'nginx/1.2.2'
SCRIPT_NAME    u''
REQUEST_METHOD    'GET'
PATH_INFO    u'/storage/import/'
SERVER_PROTOCOL    'HTTP/1.1'
QUERY_STRING    ''
CONTENT_LENGTH    ''
HTTP_USER_AGENT    'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0'
HTTP_CONNECTION    'keep-alive'
fntreeSaveStateCookie=root%2Croot%2F61%2Croot%2F61%2F68%2Croot%2F20%2F43%2Croot%2F87%2F91%2Croot%2F101%2F133%2F134; fntreeSaveSelectedCookie=root%2F61%2F68%2F82'
SERVER_NAME    'localhost'
REMOTE_PORT    '46496'
wsgi.url_scheme    'http'
SERVER_PORT    '80'
DOCUMENT_ROOT    '/usr/local/etc/nginx/html'
HTTP_X_REQUESTED_WITH    'XMLHttpRequest'
DOCUMENT_URI    '/storage/import/'
wsgi.input    <flup.server.fcgi_base.InputStream object at 0x80f35a850>
HTTP_DNT    '1'
wsgi.multithread    True
HTTP_CONTENT_TYPE    'application/x-www-form-urlencoded'
REQUEST_URI    '/storage/import/'
HTTP_ACCEPT    'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
wsgi.version    (1, 0)
GATEWAY_INTERFACE    'CGI/1.1'
wsgi.run_once    False
wsgi.errors    <flup.server.fcgi_base.TeeOutputStream object at 0x808a7fe90>
REMOTE_ADDR    '192.168.1.144'
HTTP_ACCEPT_LANGUAGE    'en-US,en;q=0.5'
CONTENT_TYPE    'application/x-www-form-urlencoded'
HTTP_ACCEPT_ENCODING    'gzip, deflate'



I have a similarly partitioned disk (but 3TB, not 4TB ) which is mounted correctly:
Code:
[saurav@freenas /mnt]$ gpart show ada1
=>        34  5860533101  ada1  GPT  (2.7T)
          34          94        - free -  (47k)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  3145728000    2  freebsd-ufs  (1.5T)
  3149922432  1048576000    3  freebsd-ufs  (500G)
  4198498432  1048576000    4  freebsd-ufs  (500G)
  5247074432  613458703    5  freebsd-ufs  (292G)



Rebooting didn't help, but I can mount the partitions from the 4TB disk by hand. But I don't want to do that because (I guess) they wouldn't be persistent across reboots.

FreeNAS-8.3.1-RELEASE-p2-x64 (r12686+b770da6_dirty), on AMD Athlon(tm) II Neo N36L Dual-Core Processor.

Any suggestions as to what could be wrong? I can see that the "Exception Value" is '/dev/ada1p5', but I have no clue what it is about. All partitions on ada1 are mounted without issues and also shared via CIFS.

Thanks,
Saurav.
 
D

dlavigne

Guest
Why not just use Volume Manager to format the new drive with UFS?
 

saurav

Contributor
Joined
Jul 29, 2012
Messages
139
I want to keep different types of data in different partitions, and share them independently. As far as I can tell, this is the only way to do so without using zfs. I can't use zfs because there's only 4GB RAM.

I solved my problem by remounting root partition as read/write and commenting out these lines in/usr/local/www/freenasUI/storage/forms.py (and remounting / back as read-only):

Code:
for name, part in _parts.items():
    for i in used_disks:
        if re.search(r'^%s([ps]|$)' % i, part['devname']) is not None:
            del _parts[name]
            continue


This made the "Import Volume" screen to show up properly and list all my disks and partitions. The list included even those that were already "in use" because of the above code change, but it's not a problem for me. I was able to import the partitions from the new disk successfully.

Funny thing is, I had to reboot for the above change to take effect (probably because of fastcgi?), but rebooting didn't overwrite my changes with the original files. After importing the new partitions, I saved the config and rebooted again, but the changes were still there. I thought the source/config files were overwritten with the originals if the sqlite db file's hash changed, but apparently not.
 

paleoN

Wizard
Joined
Apr 22, 2012
Messages
1,403
Funny thing is, I had to reboot for the above change to take effect (probably because of fastcgi?), but rebooting didn't overwrite my changes with the original files.
:confused: You did mount / read/write and it isn't a generated file. FYI, the change to storage/forms.py will be lost on any upgrade/reinstall.
 
Status
Not open for further replies.
Top