0 linux
我有一个 Fedora 17 系统,其中包含三 (3) 个硬盘 [/dev/sda、/dev/sdb 和 /dev/sdc]。
/dev/sda 磁盘是我系统的“引导驱动器”。我已将系统设置为自动挂载 /dev/sdb 和 /devsdc。我有一个数据库应用程序 [MySQL],我只想安装在 /dev/sdb 上,但我不知道如何实现。[我打算使用 /dev/sdc 作为系统备份的位置。]
有人会告诉我如何实现这一目标吗?在 Windows 7 下(例如)这个任务是微不足道的,但我从未见过任何 Linux 文档。预先感谢您的帮助。
不要太直率,但是您所知道的关于磁盘存储的一切都是错误的!
(或者至少基于 Windows 从 DOS 继承而来的从根本上被破坏的范式,DOS 从 CP/M 继承了它)。
在用户/文件系统级别,Unix 并不关心它使用的是什么物理设备。只有一个真正伟大而丰富的目录层次结构(树),以/(root)为根,万物都生活在它之下。
文件系统是在磁盘设备(/dev/sda1、/dev/sda2、/dev/sdb1等)上创建的,并安装在您想要逻辑访问它们的位置。
例如,/dev/sda1(Windows 驱动器C:,第一个硬盘)可能安装在/(根)。
然后,您可能已经/dev/sda2挂载了/usr包含所有“userland”程序的/dev/sda3at ,并挂载了/home包含所有用户主目录的at 。 /dev/sdb1可能会挂载/var以保存日志文件,因此它们不会填满您的启动驱动器等。
物理结构(哪些磁盘/分区与哪些挂载点相关联)是您在构建系统时根据预计的需求/增长决定的。
逻辑结构(目录名称和其中的内容)是标准化的,并记录在您的系统手册(hier手册页 -- hier(7) from a Linux system,来自 BSD 系统)中。
您可以通过运行以下mount命令查看哪些分区(文件系统)安装在何处:
[mgraziano@monitor ~]$ mount
/dev/da0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/da0s1h on /home (ufs, local, soft-updates)
/dev/da0s2d on /opt (ufs, local, soft-updates)
/dev/da0s1g on /tmp (ufs, local, soft-updates)
/dev/da0s1e on /usr (ufs, local, soft-updates)
/dev/da0s1f on /usr/local (ufs, local, soft-updates)
/dev/da1s1d on /usr/local/pgsql/data (ufs, local, soft-updates)
/dev/da3s1d on /usr/local/pgsql/data/pg_xlog (ufs, local, soft-updates)
/dev/da2s1d on /usr/local/pgsql/data/xlog_archive (ufs, local, soft-updates)
/dev/da0s1d on /var (ufs, local, soft-updates)
Run Code Online (Sandbox Code Playgroud)
您可以使用以下df命令获取更多信息(如可用空间):
[mgraziano@monitor ~]$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 2G 73M 1.7G 4% /
devfs 1.0k 1.0k 0B 100% /dev
/dev/da0s1h 18G 6.3M 16G 0% /home
/dev/da0s2d 63G 7.4M 58G 0% /opt
/dev/da0s1g 2G 14k 1.8G 0% /tmp
/dev/da0s1e 9.7G 810M 8.1G 9% /usr
/dev/da0s1f 14G 1.9G 11G 14% /usr/local
/dev/da1s1d 266G 21G 223G 9% /usr/local/pgsql/data
/dev/da3s1d 130G 128M 120G 0% /usr/local/pgsql/data/pg_xlog
/dev/da2s1d 266G 2.1G 242G 1% /usr/local/pgsql/data/xlog_archive
/dev/da0s1d 9.7G 308M 8.6G 3% /var
Run Code Online (Sandbox Code Playgroud)
上面的结果来自FreeBSD系统,所以设备名称不同,但是输出的一般格式是一样的。
那么你的问题的答案是什么?——“你想错了。”
当您在 Unix 系统上安装 MySQL 之类的软件包时,它(希望)会遵守hier文档中的约定。例如:
/etc/mysql//var/db/mysql//usr/bin/mysql/usr/sbin/mysqldump/usr/sbin/mysqld/etc以便在系统启动时启动数据库。对于安装(和用户)而言,重要的是文件系统层次结构中的逻辑位置。底层物理磁盘的概念被完全抽象掉了(除非空间不足,并且假设您(系统管理员)已经使分区足够大以容纳正在安装的内容)。
Unix 文件系统提供的抽象有很多好处,其中包括能够覆盖初始分区中的错误。
例如,如果/var您系统上的分区只有 10GB,但您希望 MySQL 存储 100GB 的数据,您可能会出去购买一个新的硬盘驱动器,安装它并挂载它,/var/db/mysql以便您有足够的空间容纳您的数据库。
举个例子,看看df我上面提供的输出 - /usr/local/pgsql/data(我的 Postgres 数据库目录)驻留在一个单独的、更大的分区上/usr/local(它本身与 分开/usr)。
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |