精华内容
下载资源
问答
  • 对桌面 Linux 用户而言,极少或仅在安装系统时配置本地存储Linux 存储技术进展比较慢,以至于 20 年前的很多存储工具仍在今天广泛使用。但从那之后,存储技术已经提升了不少,我们为何不享受新特性带来的好处呢?...

    6833564801933d79d57ca892fa0c7a9b.png

    对桌面 Linux 用户而言,极少或仅在安装系统时配置本地存储。Linux 存储技术进展比较慢,以至于 20 年前的很多存储工具仍在今天广泛使用。但从那之后,存储技术已经提升了不少,我们为何不享受新特性带来的好处呢?

    本文介绍 Startis,这是一个新项目,试图让所有 Linux 用户从存储技术进步中受益,适用场景可以是仅有一块 SSD 的单台笔记本,也可以是包含上百块硬盘的存储阵列。Linux 支持新特性,但由于缺乏易于使用的解决方案,使其没有被广泛采用。Stratis 的目标就是让 Linux 的高级存储特性更加可用。

    简单可靠地使用高级存储特性

    Stratis 希望让如下三件事变得更加容易:存储初始化配置;后续变更;使用高级存储特性,包括快照snapshots、精简配置thin provisioning,甚至分层tiering。

    Stratis:一个卷管理文件系统

    Stratis 是一个卷管理文件系统volume-managing filesystem(VMF),类似于 ZFS 和 Btrfs。它使用了存储“池”的核心思想,该思想被各种 VMF 和 形如 LVM 的独立卷管理器采用。使用一个或多个硬盘(或分区)创建存储池,然后在存储池中创建卷volume。与使用 fdisk 或 GParted 执行的传统硬盘分区不同,存储池中的卷分布无需用户指定。

    VMF 更进一步与文件系统层结合起来。用户无需在卷上部署选取的文件系统,因为文件系统和卷已经被合并在一起,成为一个概念上的文件树(ZFS 称之为数据集dataset,Brtfs 称之为子卷subvolume,Stratis 称之为文件系统),文件数据位于存储池中,但文件大小仅受存储池整体容量限制。

    换一个角度来看:正如文件系统对其中单个文件的真实存储块的实际位置做了一层抽象abstract,而 VMF 对存储池中单个文件系统的真实存储块的实际位置做了一层抽象。

    基于存储池,我们可以启用其它有用的特性。特性中的一部分理所当然地来自典型的 VMF 实现implementation,例如文件系统快照,毕竟存储池中的多个文件系统可以共享物理数据块physical data block;冗余redundancy,分层,完整性integrity等其它特性也很符合逻辑,因为存储池是操作系统中管理所有文件系统上述特性的重要场所。

    上述结果表明,相比独立的卷管理器和文件系统层,VMF 的搭建和管理更简单,启用高级存储特性也更容易。

    Stratis 与 ZFS 和 Btrfs 有哪些不同?

    作为新项目,Stratis 可以从已有项目中吸取经验,我们将在第二部分深入介绍 Stratis 采用了 ZFS、Brtfs 和 LVM 的哪些设计。总结一下,Stratis 与其不同之处来自于对功能特性支持的观察,来自于个人使用及计算机自动化运行方式的改变,以及来自于底层硬件的改变。

    首先,Stratis 强调易用性和安全性。对个人用户而言,这很重要,毕竟他们与 Stratis 交互的时间间隔可能很长。如果交互不那么友好,尤其是有丢数据的可能性,大部分人宁愿放弃使用新特性,继续使用功能比较基础的文件系统。

    第二,当前 API 和 DevOps 式Devops-style自动化的重要性远高于早些年。Stratis 提供了支持自动化的一流 API,这样人们可以直接通过自动化工具使用 Stratis。

    第三,SSD 的容量和市场份额都已经显著提升。早期的文件系统中很多代码用于优化机械介质访问速度慢的问题,但对于基于闪存的介质,这些优化变得不那么重要。即使当存储池过大而不适合使用 SSD 的情况,仍可以考虑使用 SSD 充当缓存层caching tier,可以提供不错的性能提升。考虑到 SSD 的优良性能,Stratis 主要聚焦存储池设计方面的灵活性flexibility和可靠性reliability。

    最后,与 ZFS 和 Btrfs 相比,Stratis 具有明显不一样的实现模型implementation model(我会在第二部分进一步分析)。这意味着对 Stratis 而言,虽然一些功能较难实现,但一些功能较容易实现。这也加快了 Stratis 的开发进度。

    了解更多

    如果希望更多了解 Stratis,可以查看本系列的第二部分。你还可以在 Stratis 官网 找到详细的设计文档。

    如何参与

    如果希望参与开发、测试 Stratis 或给出反馈,请订阅我们的邮件列表。

    GitHub 上的开发项目包括 守护进程 (使用 Rust 开发)和 命令行工具 (使用 Python 开发)两部分。

    可以在 Freenode IRC 网络的 #stratis-storage 频道加入我们。

    Andy Grover 将在今年的 LinuxFest Northwest 会议上演讲。查看会议安排 或 注册参会。

    展开全文
  • Linux系统存储交换机日志  日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录。目前公司系统路由器共有50...
    Linux系统存储交换机日志<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

     
       日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录。目前公司系统路由器共有50 台左右, 均为Cisco 路由器, 使用show log 命令来查看日志, 但将所有的路由器逐个查看是非常费时费力的。由于Cisco 路由器存储日志记录的缓存很小(默认是4 KB) 一条记录的保存时间一般只有几分钟, 缓存器以先进先出的队列模式处理日志记录, 最早的记录将被刷新, 一些重要的日志记录有可能被覆盖。因此应该建立日志管理服务器, 将所有路由器的日志记录汇总, 便于管理和查询, 及时发现路由器在运行过程中出现的问题, 以保证MIS 系统正常运行。
    1 建立过程

    Syslog 是一种运行在UNIX LINUX 操作系统上的日志工具。它能够接收远程系统的日志记录, 在一个日志中按时间顺序处理包含多个系统的记录, 并以文件形式存盘。同时不需要连接多个系统, 就可以在一个位置查看所有的记录。Syslog 使用UDP 作为传输协议, 通过目的端口514 将所有路由器的日志管理配置发送到安装了Syslog 软件系统的服务器, Syslog 服务器自动接收日志数据并写到日志文件中, 存储外部路由器日志的日志文件通常存放在该服务器“/ var/ log”目录下的messages 文件中。为了查看日志文件的内容, 必须要有“Root”权限。日志文件中的信息很重要, 只能允许超级用户访问这些文件。
    2 日志文件

    日志文件是纯文本文件, 1 行就是1 个消息。1 个消息是由下述4 个域的固定格式组成, 只要是在Linux 下, 能够处理纯文本的工具都可用来查看日志文件。
    2.1 时间标签( Timestamp) 。表示消息发出的日期和时间, 即使用服务器的时间。在创建日志时路由器的时间被忽略, 使用服务器的时间可以作为一个单一标准, 而不必检查所有路由器的时间是否一样。
    2.2 主机名(Hostname) 和日志ID。主机名是路由器发送日志的端口IP 地址, 表示生成消息的设备名字。如果只有1 台计算机,主机名就可以忽
    略, 但是在网络环境中, 使用Syslog 就可以区分不同主机发送的消息。在IP 地址后面的数字表示日志ID 号, Cisco 路由器每生成一个日志记录就将日志ID 号加1
    3  系统配置

    3.1  服务器配置

    硬件配置: 采用奔腾4  2.8GHz CPU、内存1G 或更高配置的PC 机。
    操作系统: Redhat Linux As 5 Updata 2
    将服务器连接网络, 设置IP 地址。例如:10.32.2.1 Syslog 服务器的启动程序是Syslogd 。正常启动时, 它并不接收来自网络的消息,必须使用-r 的参数初始化Syslog 服务器, 启动步骤如下。
    1. 首先打开服务器用“root”用户登陆;
    2. 点击开始菜单“运行命令”项, 在命令框输入“syslogd -r”命令, 点击运行;
    3. 查看/ var/ log/ messages 文件内是否产生了一条启动消息
    Sep 25 14 : 44 : 05 localhost syslogd 1.4.1 :restart ;

    4. 运行“终端”程序,即在(root@localhost root)# 提示符后,键入“netstat -a more”,回车后查看是否有“ udp 0 0 * syslog * * ”行,如果有,Syslog 服务器就启动成功。
    3.2  路由器配置

    在全局模式下输入下列命令。
    router (config) # logging .

    router (config) # logging 10.32.2.1

    然后,使用“CTRL^Z”退出全局模式,路由器就开始转发其日志记录。(:Cisco 路由器可以向5 台日志服务器同时发送日志消息)
    3.3  配置测试

    在路由器上输入2 条命令( router # config t router (config) # exit ) ,即可在服务器/ var/ log/ messages 文件内产生1 条消息: Sep 25 14:47:22 10.32.2.1 66:4w0d:%SYS-5-CONFIG I:Configured from console by vty0 (172.16.2.1)这说明日志服务器已经开始接收路由器的日志记录,系统配置成功。
    4  查看日志文件

    在“终端”程序窗口内,用像More Less 一样的分页显示程序,或者用Grep 命令查找特定的消息。绝对不要使用文本编辑器打开文件,否则易降低系统性能,而且不允许更改日志文件。以下提供几种查询方式。
    方式1 :
    分页显示日志文件。可以使用以下命令:
    root@localhost root#more /var/log/messages

    (root@localhost root)#less /var/log/messages

    其中less 命令可以上下滚动文件,并可按字符串查找记录。
    方式2 :

    从日志文件中提取单个设备日志记录。例如:查找10.32.2.1 路由器的记录是否保存到router.txt 文件中时,就输入
    (root@localhost root)# grep '10.32.2.1' /var/log/messages>router.txt

     
    5  应用

    通过查看日志记录中的各种信息,可以及时了解各个路由器的状态及各种突发事件,并且还能跟踪线路故障,例如以下这一条记录:
    Sep 28 01:25:32 10.32.2.1 410:3w1d:%LINEPRO TO-5 UPDOWN:Line protocol . Interface Serial0changed state to down这条记录指28 01:25;32 位于10.32.2.1 的路由器的串行接口0 的协议级中断,这反映了线路上的所有通信协议都失败了,虽然不能准确地知道故障原因,但可以分析出串行接口和相连的路由器之间的线路有问题。

    本文出自 “李晨光原创技术博客” 博客,谢绝转载!

    转载于:https://www.cnblogs.com/chenguang/p/3742470.html

    展开全文
  • Linux 日志

    2014-11-19 10:48:00
    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。Linux 中提供了异常日志,并且日志...Linux 日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在...

     

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。Linux 中提供了异常日志,并且日志的细节是可配置的。

    Linux 日志都以明文形式存储,所以您不需要特殊的工具就可以搜索和阅读它们。您还可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能。

    Linux 日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有 root 才可以读,不过只需要修改文件的访问权限就可以让其他人可读。

    /var/log/messages

    messages 日志是核心系统日志文件。它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为 root,也在这里列出。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活动。通常,/var/log/messages 是您在做故障诊断时首先要查看的文件。

    /var/log/XFree86.0.log

    这个日志记录的是 Xfree86 Xwindows 服务器最后一次执行的结果。如果您在启动到图形模式时遇到了问题,一般情况从这个文件中会找到失败的原因。

    其他日志

    根据您的 Linux 发行版本以及您所运行的服务和应用程序的不同,/var/log 目录下还会有其他日志文件。例如,可能会有与邮件服务器、资源共享、自动任务等相关的日志。

    准备好了就开始轮循

    您将看到,/var/log 目录下有一些文件以一个数字结尾,这些是已轮循的归档文件。日志文件会变得特别大,特别笨重。Linux 提供了一个命令来轮循这些日志,以使您的当前日志信息不会淹没在旧的无关信息之中。 logrotate 通常是定时自动运行的,但是也可以手工运行。当执行后,logrotate 将取得当前版本的日志文件,然后在这个文件名最后附加一个“.1”。其他更早轮循的文件为“.2”、“.3”,依次类推。文件名后的数字越大,日志就越老。

    您可以通过编辑 /etc/logrotate.conf 文件来配置 logrotate 的自动行为。通过 man logrotate 来学习 logrotate 的全部细节。

     

    日志工具

    任何文本工具都可以用来处理日志文件。下面是一些特别有用的工具。

    dmesg
    使用 dmesg 命令可以快速查看最后一次系统引导的引导日志。通常它的内容会很多,所以您往往会希望将其通过管道传输到一个阅读器。

    dmesg | more

    上面的命令将以分页的方式显示引导信息。

    tail
    有时,当某些行为发生时,您会希望密切关注一个日志文件。 Tail 命令设计用于显示文本文件的最后几行。使用 -f 开关,当日志增加新的内容时, tail 将继续显示新的输出。

    tail -f /var/log/messages

    上面的命令将显示 /var/log/messages 文件的最后 10 行,然后继续监控那个文件,并输出新的行为。要停止 tail -f 命令,使用 Ctrl + C 来中止进程。

    more
    More 的工作方式与 DOS 版本相同。您可以将它指向一个文件,或者通过它以管道输出信息,以分页的方式来查看信息。例如,以分页方式显示 Xfree86 启动日志文件的内容:

    more /var/log/XFree86.0.log

    使用“q”或者 [Ctrl]-C 来停止查看文件。

    less
    Less 是另一个文本阅读器,不过它还允许在文件中滚动浏览以及检索信息。

    less /var/log/messages

    上面的命令将显示 /var/log/messages 文件的内容。使用“q”来停止查看文件。使用“h”来获得 less 的使用帮助。

    logger
    您可能会希望将自己的消息也记录到日志文件。您可以只是将日志消息附加到恰当的文本文件,但是您必须得套用日志信息格式。同样,如果日志系统被定制,您还将不得不修改您的代码。l logger 命令使您可以将自己的消息发送到日志工具。在脚本中使用它来提供关于执行和错误的消息。

     

    定制的日志

    有两个服务,或者称之为后台程序,在控制日志,分别是 klogd 和 syslogd 。 klogd 只处理内核消息, syslogd 处理其他系统消息,比如应用程序。您可以通过编辑 /et/syslog.conf 和 /etc/sysconfig/syslog 来配置它们的行为。完全定制日志超出了本文的范围,不过在本文最后的 参考资料 列表中可以找到详细的资料。您也可以查看 /etc/syslogd.conf 的 man 页面来进一步学习。

    本质上,软件所产生的每一条消息都提供一些信息用于确定消息是从哪里来的以及这个消息是什么。/etc/syslog.conf 文件允许您来指定如何处理那种类型的消息。您可以将它转储到消息文件,也可以将它转储到一个定制的文件。您可以将它发送到远程的主机,由远程主机来根据其自己的 syslogd 配置来处理它。远程日志是一个非常好的安全功能。通过将您的日志放置到远程系统中,您可以防止有人通过改变日志文件来掩饰其踪迹。

    下面是取自 man /etc/syslog.conf 页面中的一个定制日志的例子:

                  # Kernel messages are first, stored in the kernel
                  # file, critical messages and higher ones also go
                  # to another host and to the console
                  #
                  kern.*                       /var/adm/kernel
                  kern.crit                    @finlandia
                  kern.crit                    /dev/console
                  kern.info;kern.!err          /var/adm/kernel-info

    第一个规则将所有内核消息定向到 /var/adm/kernel 文件。

    第二个语句将所有优先级为 crit 或者更高的内核消息定向到一个名为 finlandia 的远程主机。这是有用的,因为如果主机崩溃以及磁盘错误无法恢复,您将无法读取存储的消息。如果那些消息同时在远程主机上也存在,您就依然可以找出崩溃的原因。

    第三个规则将这些消息定向到实际的控制台,这样,在这台机器上工作的人也可以看到它们。

    第四行告诉 syslogd 将所有优先级为 info 到 warning 的内核消息保存到 /var/adm/kernel-info 文件。所有优先级为 err 以及更高的消息不包括在内。

    像这种定制日志的能力为 Linux 环境提供了极大的灵活性与可控制性。

    转载于:https://www.cnblogs.com/foohack/p/4107684.html

    展开全文
  • linux日志系统

    2012-05-31 17:47:17
    Linux中提供了异常日志,并且日志的细节...Linux日志存储在/var/log目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有root账户才可以读,不过修改文件的访问权限
  • linux 中为了检测linux存储log不能无限大的情况,使用脚本去控制文件大小的存储以及存储满的时候的处理。 #!/bin/bash echo "nfs-gw-log_check" echo "version: 1.0.0" #Get APP Name case $1 in app=$1 ;; ...

    linux 中为了检测linux中存储log不能无限大的情况,使用脚本去控制文件大小的存储以及存储满的时候的处理。

    #!/bin/bash
    
    echo "nfs-gw-log_check"
    echo "version: 1.0.0"
    
    #Get APP Name
    case $1 in 
            app=$1
        ;;
    
        *)
            echo  "Error - log_check! Please indicate APP name firstly."
            exit 1
        ;;
    esac
    #Get Log Name
    log_name=$2
    echo  "Logname is ${log_name}."
     
    #Define Variables
    check_log_time=10
    max_log_files=10
    max_log_size=1000000
    log_dir="/home/nfs-gw/log/${app}"
    log_dir_bk="/home/nfs-gw/log/${app}/${log_name}"
    
    #Create Directory
    if [ ! -d ${log_dir} ]; then
        mkdir -p ${log_dir}
    fi
    
    if [ ! -d ${log_dir_bk} ]; then
        mkdir -p ${log_dir_bk}
    fi
    
    #Initialize Log Number
    log_number=0
    for filename in `ls $log_dir_bk`
    do
        if [  $log_number -lt $filename ]
        then
            log_number=$filename
        fi
    done
    echo "lastest log number is: $log_number"
    
    #Check and Backup
    while true
    do
    	sleep ${check_log_time}
    	s=`stat -c %s "${log_dir_bk}/${log_name}.txt"`
    	echo "log size: ${s}"
    	
        if [ $s -gt $max_log_size ]
    	then
    		let log_number+=1
    		if [ $log_number -gt $max_log_files ]
    		then
    			let del_file=log_number-max_log_files
    			echo "delete file ${del_file}"
    			rm "${log_dir_bk}/${del_file}"
    		fi
    
    		echo "log size over $max_log_size, save log: ${log_number}"
    		cp "${log_dir_bk}/${log_name}.txt" "${log_dir_bk}/${log_number}" && cat /dev/null > "${log_dir_bk}/${log_name}.txt"
    	else
    		continue
    	fi
    done
    
    
    ```bash
    #!/bin/bash
    
    
    log_path="/home/log" 
    
    		if [ ! -d "${log_path}/log/log#002" ]; then
    		
    			mkdir -p "${log_path}/log/log#002" 
    		fi
    
    
    ./log.sh  >>  /home/nfs-gw/log/NUP/NUP#002/NUP#002.txt   2>&1 & 
    
    
    ./log_check NUP  NUP#002 > /home/log.txt  2>&1 & 
    
    
    展开全文
  • Linux日志

    2011-05-13 20:35:00
    在本部分,我们追踪、处理和轮循日志,以增强系统安全,收集信息...Linux 日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有 root
  • 1、Linux 7中日志的基本系统架构进程和操作系统内核在发生事件时,对事件做相应的记录;RHEL7 当中有两个服务负责处理日志;journald 可以收集来自内核/启动过程/标准输出/系统日志/进程运行中期间的相关日志信息; ...
  • Linux日志学习

    2012-08-27 15:57:02
    前言  Linux 中提供了异常日志,并且...Linux 日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有 root 才可以读,不过只需要修改文件的
  • Linux日志分析

    2012-09-17 15:54:35
    Linux日志都以明文形式存储,所以您不需要特殊的工具就可以搜索和阅读它们。您还可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能。    Linux 日志存储在 /var/log目录中。这里有几个由系统...
  • 环境:1:一台Centos6当做日志服务器2:一台Centos7做数据库服务器实现一:Centos7 创建数据库1: 安装mariadb-serveryum install mariadb-server2: 启动服务systemctl start mariadb3: 配置数据库 用户名及密码...
  • 环境:1:一台Centos6当做日志服务器2:一台Centos7做数据库服务器实现一:Centos7 创建数据库1: 安装mariadb-serveryum install mariadb-server2: 启动服务systemctl start mariadb3: 配置数据库 用户名及密码...
  • Linux系统日志文件的打印与存储
  • Linux 日志基础

    千次阅读 2009-08-31 10:54:00
    Linux 日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程式也可能会把他们的日志放在这里。大多数日志只有 root 才能读,不过只需要修改文件的访问权限就能让其他人可读。/var/log/
  • 环境:1:一台Centos6当做日志服务器2:一台Centos7做数据库服务器实现一:Centos7 创建数据库1: 安装mariadb-serveryum install mariadb-server2: 启动服务systemctl start mariadb3: 配置数据库 用户名及密码...
  • Linux 常见的日志文件详述如下: /var/log/boot.log  记录的Linux 系统在引导阶段发生的事件,也就是说系统开机自检过程中产生的日志。 /var/log/cron 该日志文件记录crontab守护进程crond所派生的子进程的...
  • Linux日志基础

    2021-01-20 14:51:58
    首先,我们将描述有关 Linux 日志是什么,到哪儿去找它们,以及它们是如何创建的基础知识。如果你已经知道这些,请随意跳至下一节。  Linux 系统日志  许多有价值的日志文件都是由 Linux 自动地为你创建的。你...
  • linux日志

    2018-08-29 23:10:00
    linux的可查询日志主要包含如下三类 (1)登录访问日志 (2)命令使用历史 (3)以文本形式存储的系统详细日志 登录日志,使用系统的last命令即可获得 last -a 把从何处登入系统的主机名称或ip地址,显示...
  • 环境:1:一台Centos6当做日志服务器2:一台Centos7做数据库服务器实现一:Centos7 创建数据库1: 安装mariadb-serveryum install mariadb-server2: 启动服务systemctl start mariadb3: 配置数据库 用户名及密码...
  • 让Nginx、tomcat每天(或每个星期,可自定义控制)生成一个日志文件,而不是将Nginx所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易
  • 环境:     1:一台Centos6当做日志服务器    2:一台Centos7做数据库服务器 实现 一:Centos7 创建数据库 1: 安装mariadb-server yum install mariadb-server 2: 启动服务 systemctl start mariadb 3: 配置...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,128
精华内容 851
关键字:

linux日志存储

linux 订阅